xref: /netbsd-src/external/gpl3/gcc/dist/gcc/ChangeLog (revision 4fe0f936ff464bca8e6277bde90f477ef5a4d004)
12024-06-20  Release Manager
2
3	* GCC 12.4.0 released.
4
52024-06-12  Alex Coplan  <alex.coplan@arm.com>
6
7	Backported from master:
8	2024-05-03  Alex Coplan  <alex.coplan@arm.com>
9
10	PR rtl-optimization/114924
11	* cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs,
12	don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR.
13
142024-06-12  Vladimir N. Makarov  <vmakarov@redhat.com>
15
16	Backported from master:
17	2023-09-25  Vladimir N. Makarov  <vmakarov@redhat.com>
18
19	PR middle-end/111497
20	* lra-constraints.cc (lra_constraints): Copy substituted
21	equivalence.
22	* lra.cc (lra): Change comment for calling unshare_all_rtl_again.
23
242024-06-12  Richard Biener  <rguenther@suse.de>
25
26	Backported from master:
27	2022-12-05  Richard Biener  <rguenther@suse.de>
28
29	PR middle-end/40635
30	* tree-into-ssa.cc (rewrite_update_phi_arguments): Only
31	update the argument when the reaching definition is different
32	from the current argument.  Keep an existing argument
33	location.
34
352024-06-12  Richard Biener  <rguenther@suse.de>
36
37	Backported from master:
38	2024-02-19  Richard Biener  <rguenther@suse.de>
39
40	PR rtl-optimization/54052
41	* rtl-ssa/blocks.cc (function_info::place_phis): Filter
42	local defs by LR_OUT.
43
442024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
45
46	Backported from master:
47	2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
48		    Yvan ROUX  <yvan.roux@foss.st.com>
49
50	PR target/115253
51	* config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
52	Sign extend for Thumb1.
53	(thumb1_expand_prologue): Add zero/sign extend.
54
552024-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
56
57	Backported from master:
58	2024-03-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
59
60	PR middle-end/111632
61	* system.h: Include safe-ctype.h after C++ standard headers.
62
632024-06-11  Andrew Pinski  <quic_apinski@quicinc.com>
64
65	Backported from master:
66	2024-05-20  Andrew Pinski  <quic_apinski@quicinc.com>
67
68	PR tree-optimization/115143
69	* tree-ssa-phiopt.cc (minmax_replacement): Check for empty
70	phi nodes for middle bbs for the case where middle bb is not empty.
71
722024-06-11  Jakub Jelinek  <jakub@redhat.com>
73
74	Backported from master:
75	2024-06-04  Jakub Jelinek  <jakub@redhat.com>
76
77	PR tree-optimization/115337
78	* fold-const.cc (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>:
79	If fn is CFN_CLZ, use CLZ_DEFINED_VALUE_AT.
80
812024-06-11  Jakub Jelinek  <jakub@redhat.com>
82
83	Backported from master:
84	2024-06-04  Jakub Jelinek  <jakub@redhat.com>
85
86	PR middle-end/108789
87	* builtins.cc (fold_builtin_arith_overflow): For ovf_only,
88	don't call save_expr and don't build REALPART_EXPR, otherwise
89	set TREE_SIDE_EFFECTS on call before calling save_expr.
90
912024-06-11  Jakub Jelinek  <jakub@redhat.com>
92
93	Backported from master:
94	2024-06-03  Jakub Jelinek  <jakub@redhat.com>
95
96	PR target/115324
97	* config/rs6000/rs6000-gen-builtins.cc (write_decls): Remove
98	GTY markup from struct bifdata and struct ovlddata and remove their
99	fntype members.  Change next member in struct ovlddata and
100	first_instance member of struct ovldrecord to have int type rather
101	than struct ovlddata *.  Remove GTY markup from rs6000_builtin_info
102	and rs6000_instance_info arrays, declare new
103	rs6000_builtin_info_fntype and rs6000_instance_info_fntype arrays,
104	which have GTY markup.
105	(write_bif_static_init): Adjust for the above changes.
106	(write_ovld_static_init): Likewise.
107	(write_init_bif_table): Likewise.
108	(write_init_ovld_table): Likewise.
109	* config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Likewise.
110	* config/rs6000/rs6000-c.cc (find_instance): Likewise.  Make static.
111	(altivec_resolve_overloaded_builtin): Adjust for the above changes.
112
1132024-06-11  Jakub Jelinek  <jakub@redhat.com>
114
115	Backported from master:
116	2024-05-15  Jakub Jelinek  <jakub@redhat.com>
117
118	PR rtl-optimization/114902
119	PR rtl-optimization/115092
120	* combine.cc (simplify_compare_const): Don't optimize
121	GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or
122	EQ op0 const0_rtx.
123
1242024-06-11  Jakub Jelinek  <jakub@redhat.com>
125
126	Backported from master:
127	2024-05-07  Jakub Jelinek  <jakub@redhat.com>
128
129	PR sanitizer/114956
130	* tree-inline.cc: Include asan.h.
131	(copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan
132	sanitization disabled.
133
1342024-06-11  Jakub Jelinek  <jakub@redhat.com>
135
136	Backported from master:
137	2024-04-30  Jakub Jelinek  <jakub@redhat.com>
138
139	PR tree-optimization/114876
140	* gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0,
141	set max, likely and unlikely members to 1 rather than 0.  Remove
142	useless res.knownrange = true;.  Formatting fixes.
143
1442024-06-11  Jakub Jelinek  <jakub@redhat.com>
145
146	Backported from master:
147	2024-04-25  Jakub Jelinek  <jakub@redhat.com>
148
149	PR fortran/114825
150	* tree-nested.cc (get_debug_decl): New function.
151	(get_nonlocal_debug_decl): Use it.
152	(get_local_debug_decl): Likewise.
153
1542024-06-11  Jakub Jelinek  <jakub@redhat.com>
155
156	Backported from master:
157	2024-04-19  Jakub Jelinek  <jakub@redhat.com>
158
159	PR rtl-optimization/114768
160	* rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM
161	sets if src has side-effects or for stores into ZERO_EXTRACT
162	if ZERO_EXTRACT operand has side-effects.
163
1642024-06-11  Jakub Jelinek  <jakub@redhat.com>
165
166	Backported from master:
167	2024-04-18  Jakub Jelinek  <jakub@redhat.com>
168
169	PR middle-end/114753
170	* internal-fn.cc (expand_mul_overflow): Save flag_trapv and
171	temporarily clear it for the duration of the function, then
172	restore previous value.
173	(expand_vector_ubsan_overflow): Likewise.
174	(expand_arith_overflow): Likewise.
175
1762024-06-11  Jakub Jelinek  <jakub@redhat.com>
177
178	Backported from master:
179	2024-04-15  Jakub Jelinek  <jakub@redhat.com>
180
181	PR c++/114634
182	* attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for
183	decls with NULL TREE_TYPE.
184
1852024-06-11  Jakub Jelinek  <jakub@redhat.com>
186
187	Backported from master:
188	2024-04-11  Jakub Jelinek  <jakub@redhat.com>
189
190	PR middle-end/110027
191	* asan.cc (asan_emit_stack_protection): Assert offsets[0] is
192	zero if there is no stack protect guard, otherwise
193	-ASAN_RED_ZONE_SIZE.  If alignb > ASAN_RED_ZONE_SIZE and there is
194	stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at
195	the top of the stack into account when computing base_align_bias.
196	Recompute use_after_return_class from asan_frame_size + base_align_bias
197	and set to -1 if that would overflow to 11.
198
1992024-06-11  Jakub Jelinek  <jakub@redhat.com>
200
201	Backported from master:
202	2024-04-05  Jakub Jelinek  <jakub@redhat.com>
203
204	PR tree-optimization/114566
205	* tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear
206	base_misaligned.
207
2082024-06-11  Jakub Jelinek  <jakub@redhat.com>
209
210	Backported from master:
211	2024-04-04  Jakub Jelinek  <jakub@redhat.com>
212
213	PR c++/114537
214	* fold-const.cc (native_encode_initializer): Look through
215	NON_LVALUE_EXPR if val is INTEGER_CST.
216
2172024-06-11  Jakub Jelinek  <jakub@redhat.com>
218
219	Backported from master:
220	2024-03-14  Jakub Jelinek  <jakub@redhat.com>
221
222	PR middle-end/113907
223	* ipa-icf.cc (sem_item_optimizer::merge_classes): Reset
224	SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged
225	functions.
226
2272024-06-11  Jakub Jelinek  <jakub@redhat.com>
228
229	Backported from master:
230	2024-03-14  Jakub Jelinek  <jakub@redhat.com>
231
232	PR target/114310
233	* config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For
234	TImode force newval into a register.
235
2362024-06-11  Jakub Jelinek  <jakub@redhat.com>
237
238	Backported from master:
239	2024-03-07  Jakub Jelinek  <jakub@redhat.com>
240
241	PR rtl-optimization/110079
242	* bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust
243	asm goto.
244
2452024-06-11  Jakub Jelinek  <jakub@redhat.com>
246
247	Backported from master:
248	2024-03-04  Jakub Jelinek  <jakub@redhat.com>
249
250	PR target/114184
251	* config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1
252	is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or
253	register.
254
2552024-06-11  Jakub Jelinek  <jakub@redhat.com>
256
257	Backported from master:
258	2024-02-12  Jakub Jelinek  <jakub@redhat.com>
259
260	PR c++/113674
261	* attribs.cc (extract_attribute_substring): Remove.
262	(lookup_scoped_attribute_spec): Don't call it.
263
2642024-06-11  Jakub Jelinek  <jakub@redhat.com>
265
266	Backported from master:
267	2024-02-03  Jakub Jelinek  <jakub@redhat.com>
268
269	* ggc-common.cc (gt_pch_save): Allow addr to be equal to
270	mmi.preferred_base + mmi.size - sizeof (void *).
271
2722024-06-11  Jakub Jelinek  <jakub@redhat.com>
273
274	Backported from master:
275	2024-01-30  Jakub Jelinek  <jakub@redhat.com>
276
277	PR tree-optimization/113603
278	* tree-ssa-strlen.cc (strlen_pass::handle_store): After
279	count_nonzero_bytes call refetch si using get_strinfo in case it
280	has been unshared in the meantime.
281
2822024-06-11  Jakub Jelinek  <jakub@redhat.com>
283
284	Backported from master:
285	2024-01-25  Jakub Jelinek  <jakub@redhat.com>
286
287	* doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns.
288	* doc/rtl.texi (CONST_VECTOR): Likewise.
289
2902024-06-11  Jakub Jelinek  <jakub@redhat.com>
291
292	Backported from master:
293	2024-01-18  Jakub Jelinek  <jakub@redhat.com>
294
295	PR target/113122
296	* config/i386/i386.cc (x86_function_profiler): Add -masm=intel
297	support.  Add missing space after , in emitted assembly in some
298	cases.  Formatting fixes.
299
3002024-06-11  Jakub Jelinek  <jakub@redhat.com>
301
302	Backported from master:
303	2024-01-16  Jakub Jelinek  <jakub@redhat.com>
304
305	PR tree-optimization/113372
306	PR middle-end/90348
307	PR middle-end/110115
308	PR middle-end/111422
309	* cfgexpand.cc (add_scope_conflicts_2): New function.
310	(add_scope_conflicts_1): Use it.
311
3122024-06-11  Richard Biener  <rguenther@suse.de>
313
314	Backported from master:
315	2023-08-21  Richard Biener  <rguenther@suse.de>
316
317	PR tree-optimization/111070
318	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have
319	an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
320
3212024-06-07  Jan Hubicka  <jh@suse.cz>
322
323	Backported from master:
324	2023-12-29  Jan Hubicka  <jh@suse.cz>
325
326	* config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS,
327	X86_TUNE_AVOID_256FMA_CHAINS): Enable for znver4 and Core.
328
3292024-06-04  Richard Biener  <rguenther@suse.de>
330
331	Backported from master:
332	2023-11-28  Richard Biener  <rguenther@suse.de>
333
334	PR middle-end/112732
335	* tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET
336	of the newly built type.
337
3382024-06-04  Richard Biener  <rguenther@suse.de>
339
340	Backported from master:
341	2023-06-26  Richard Biener  <rguenther@suse.de>
342
343	PR tree-optimization/110381
344	* tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts):
345	Materialize permutes before fold-left reductions.
346
3472024-06-04  Richard Biener  <rguenther@suse.de>
348
349	Backported from master:
350	2024-02-14  Richard Biener  <rguenther@suse.de>
351
352	PR tree-optimization/113910
353	* bitmap.cc (bitmap_hash): Mix the full element "hash" to
354	the hashval_t hash.
355
3562024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
357
358	Backported from master:
359	2024-01-29  Richard Sandiford  <richard.sandiford@arm.com>
360
361	PR target/113281
362	* tree-vect-patterns.cc (vect_recog_over_widening_pattern): Remove
363	workaround for right shifts.
364	(vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR.
365	(vect_determine_precisions_from_range): Be more selective about
366	which codes can be narrowed based on their input and output ranges.
367	For shifts, require at least one more bit of precision than the
368	maximum shift amount.
369
3702024-06-04  Richard Sandiford  <richard.sandiford@arm.com>
371
372	Backported from master:
373	2024-05-24  Richard Sandiford  <richard.sandiford@arm.com>
374
375	PR tree-optimization/115192
376	* tree-data-ref.cc (create_intersect_range_checks): Take the
377	alignment of the access sizes into account.
378
3792024-06-03  Uros Bizjak  <ubizjak@gmail.com>
380
381	Backported from master:
382	2024-05-31  Uros Bizjak  <ubizjak@gmail.com>
383
384	PR target/115297
385	* config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode
386	operands 3 and 4 with truncate:SI RTX.
387	(*divmodsi_internal_er): Ditto for operands 1 and 2.
388	(*divmodsi_internal_er_1): Ditto.
389	(*divmodsi_internal): Ditto.
390	* config/alpha/constraints.md ("b"): Correct register
391	number in the description.
392
3932024-05-30  YunQiang Su  <syq@gcc.gnu.org>
394
395	Backported from master:
396	2024-05-29  YunQiang Su  <syq@gcc.gnu.org>
397
398	* config/mips/mips.cc(mips16_gp_pseudo_reg): Mark
399	MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered.
400	(mips_emit_call_insn): Mark MIPS16_PIC_TEMP and
401	MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP.
402
4032024-05-28  Jakub Jelinek  <jakub@redhat.com>
404
405	Backported from master:
406	2024-05-22  Jakub Jelinek  <jakub@redhat.com>
407
408	PR sanitizer/115172
409	* ubsan.cc (instrument_bool_enum_load): If rhs is not in generic
410	address space, use qualified version of utype with the right
411	address space.  Formatting fix.
412
4132024-05-28  Martin Jambor  <mjambor@suse.cz>
414
415	Backported from master:
416	2024-05-14  Martin Jambor  <mjambor@suse.cz>
417
418	PR ipa/113907
419	* ipa-prop.h (ipa_jump_functions_equivalent_p): Declare.
420	(values_equal_for_ipcp_p): Likewise.
421	* ipa-prop.cc (ipa_agg_pass_through_jf_equivalent_p): New function.
422	(ipa_agg_jump_functions_equivalent_p): Likewise.
423	(ipa_jump_functions_equivalent_p): Likewise.
424	* ipa-cp.cc (values_equal_for_ipcp_p): Make function public.
425	* ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h,
426	ipa-cp.h and ipa-prop.h.
427	(func_checker::compare_gimple_call): Comapre jump functions.
428
4292024-05-17  Richard Biener  <rguenther@suse.de>
430
431	Backported from master:
432	2024-01-31  Richard Biener  <rguenther@suse.de>
433
434	PR middle-end/110176
435	* match.pd (zext (bool) <= (int) 4294967295u): Make sure
436	to match INTEGER_CST only without outstanding conversion.
437
4382024-05-17  Richard Biener  <rguenther@suse.de>
439
440	Backported from master:
441	2023-08-17  Richard Biener  <rguenther@suse.de>
442
443	PR tree-optimization/111039
444	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
445	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
446
4472024-05-17  Richard Biener  <rguenther@suse.de>
448
449	Backported from master:
450	2023-11-20  Richard Biener  <rguenther@suse.de>
451
452	PR tree-optimization/112281
453	* tree-loop-distribution.cc
454	(loop_distribution::pg_add_dependence_edges): For = in the
455	innermost common loop record a partition conflict.
456
4572024-05-17  Richard Biener  <rguenther@suse.de>
458
459	Backported from master:
460	2023-11-13  Richard Biener  <rguenther@suse.de>
461
462	PR tree-optimization/112495
463	* tree-data-ref.cc (runtime_alias_check_p): Reject checks
464	between different address spaces.
465
4662024-05-17  Richard Biener  <rguenther@suse.de>
467
468	Backported from master:
469	2024-01-11  Richard Biener  <rguenther@suse.de>
470
471	PR tree-optimization/112505
472	* tree-vect-loop.cc (vectorizable_induction): Reject
473	bit-precision induction.
474
4752024-05-17  Richard Biener  <rguenther@suse.de>
476
477	Backported from master:
478	2024-01-23  Richard Biener  <rguenther@suse.de>
479
480	PR debug/112718
481	* dwarf2out.cc (dwarf2out_finish): Reset all type units
482	for the fat part of an LTO compile.
483
4842024-05-17  Richard Biener  <rguenther@suse.de>
485
486	Backported from master:
487	2023-12-14  Richard Biener  <rguenther@suse.de>
488
489	PR tree-optimization/112793
490	* tree-vect-slp.cc (vect_schedule_slp_node): Already
491	code-generated constant/external nodes are OK.
492
4932024-05-16  Richard Biener  <rguenther@suse.de>
494
495	Backported from master:
496	2024-02-22  Richard Biener  <rguenther@suse.de>
497
498	PR tree-optimization/114027
499	* tree-vect-loop.cc (vecctorizable_reduction): Use optimized
500	condition reduction classification only for single-element
501	chains.
502
5032024-05-16  Richard Biener  <rguenther@suse.de>
504
505	Backported from master:
506	2024-05-08  Richard Biener  <rguenther@suse.de>
507
508	PR tree-optimization/114375
509	* tree-vect-slp.cc (vect_build_slp_tree_2): Compute the
510	load permutation for masked loads but reject it when any
511	such is necessary.
512	* tree-vect-stmts.cc (vectorizable_load): Reject masked
513	VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not
514	supported.
515
5162024-05-16  Richard Biener  <rguenther@suse.de>
517
518	Backported from master:
519	2024-03-21  Richard Biener  <rguenther@suse.de>
520
521	PR tree-optimization/114231
522	* tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
523	processing a BB SLP root.
524
5252024-05-16  Richard Biener  <rguenther@suse.de>
526
527	Backported from master:
528	2024-05-06  Richard Biener  <rguenther@suse.de>
529
530	PR middle-end/114734
531	* internal-fn.cc (expand_call_mem_ref): Use
532	get_gimple_for_ssa_name to get at the def stmt of the address
533	argument to honor SSA coalescing constraints.
534
5352024-05-16  Richard Biener  <rguenther@suse.de>
536
537	Backported from master:
538	2024-04-09  Richard Biener  <rguenther@suse.de>
539
540	PR lto/114655
541	* lto-wrapper.cc (merge_flto_options): Add force argument.
542	(merge_and_complain): Do not force here.
543	(run_gcc): But here to make the link-time -flto option override
544	any compile-time one.
545
5462024-05-16  Richard Biener  <rguenther@suse.de>
547
548	Backported from master:
549	2024-05-03  Richard Biener  <rguenther@suse.de>
550
551	PR gcov-profile/114715
552	* gimplify.cc (gimplify_switch_expr): Set the location of the
553	GIMPLE switch.
554
5552024-05-15  Martin Jambor  <mjambor@suse.cz>
556
557	Backported from master:
558	2024-04-08  Martin Jambor  <mjambor@suse.cz>
559
560	PR ipa/108007
561	PR ipa/112616
562	* cgraph.h (cgraph_edge): Add a parameter to
563	redirect_call_stmt_to_callee.
564	* ipa-param-manipulation.h (ipa_param_adjustments): Add a
565	parameter to modify_call.
566	(ipa_release_ssas_in_hash): Declare.
567	* cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New
568	parameter killed_ssas, pass it to padjs->modify_call.
569	* ipa-param-manipulation.cc (purge_all_uses): New function.
570	(ipa_param_adjustments::modify_call): New parameter killed_ssas.
571	Instead of substituting uses, invoke purge_all_uses.  If
572	hash of killed SSAs has not been provided, create a temporary one
573	and release SSAs that have been added to it.
574	(compare_ssa_versions): New function.
575	(ipa_release_ssas_in_hash): Likewise.
576	* tree-inline.cc (redirect_all_calls): Create
577	id->killed_new_ssa_names earlier, pass it to edge redirection,
578	adjust a comment.
579	(copy_body): Release SSAs in id->killed_new_ssa_names.
580
5812024-05-15  Martin Jambor  <mjambor@suse.cz>
582
583	Backported from master:
584	2024-04-05  Martin Jambor  <mjambor@suse.cz>
585
586	PR ipa/114247
587	* ipa-param-manipulation.cc (ipa_param_adjustments::modify_call):
588	Force values obtined through pass-through maps to the expected
589	split type.
590
5912024-05-13  Andrew MacLeod  <amacleod@redhat.com>
592
593	PR tree-optimization/111009
594	* range-op.cc (operator_addr_expr::op1_range): Be more restrictive.
595	* value-range.h (contains_zero_p): New.
596
5972024-05-09  Andrew Pinski  <apinski@marvell.com>
598
599	Backported from master:
600	2023-09-25  Andrew Pinski  <apinski@marvell.com>
601
602	PR tree-optimization/110386
603	* gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR.
604
6052024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
606
607	Backported from master:
608	2024-02-22  Andrew Pinski  <quic_apinski@quicinc.com>
609
610	PR tree-optimization/109804
611	* gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle
612	DEMANGLE_COMPONENT_UNNAMED_TYPE.
613
6142024-05-08  Andrew Pinski  <apinski@marvell.com>
615
616	Backported from master:
617	2023-09-10  Andrew Pinski  <apinski@marvell.com>
618
619	PR tree-optimization/111331
620	* tree-ssa-phiopt.cc (minmax_replacement):
621	Fix the LE/GE comparison for the
622	`(a CMP CST1) ? max<a,CST2> : a` optimization.
623
6242024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>
625
626	Backported from master:
627	2024-03-11  Andrew Pinski  <quic_apinski@quicinc.com>
628
629	PR middle-end/95351
630	* fold-const.cc (merge_truthop_with_opposite_arm): Use
631	the type of the operands of the comparison and not the type
632	of the comparison.
633
6342024-05-07  Georg-Johann Lay  <avr@gjlay.de>
635
636	* config/avr/avr-mcus.def: Add new MCUs (copy from gcc-13).
637	* doc/avr-mmcu.texi: Rebuild.
638
6392024-05-07  Georg-Johann Lay  <avr@gjlay.de>
640
641	Backported from master:
642	2024-05-06  Georg-Johann Lay  <avr@gjlay.de>
643
644	PR ipa/92606
645	* config/avr/avr.cc (avr_option_override): Set
646	flag_ipa_icf_variables = 0.
647
6482024-05-02  Richard Biener  <rguenther@suse.de>
649
650	Backported from master:
651	2024-04-10  Richard Biener  <rguenther@suse.de>
652
653	PR tree-optimization/114672
654	* tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only
655	allow mode-precision results.
656
6572024-05-02  Will Schmidt  <will_schmidt@linux.ibm.com>
658
659	Backported from master:
660	2024-04-12  Will Schmidt  <will_schmidt@linux.ibm.com>
661		    Peter Bergner  <bergner@linux.ibm.com>
662
663	PR target/101865
664	* config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use
665	TARGET_POWER8.
666	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use
667	OPTION_MASK_POWER8.
668	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8.
669	(ISA_2_7_MASKS_SERVER): Likewise.
670	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Update
671	comment.  Use OPTION_MASK_POWER8 and TARGET_POWER8.
672	* config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8.
673	* config/rs6000/rs6000.md (define_attr "isa"): Add p8.
674	(define_attr "enabled"): Handle it.
675	(define_insn "prefetch"): Use TARGET_POWER8.
676	* config/rs6000/rs6000.opt (mpower8-internal): New.
677
6782024-05-02  Peter Bergner  <bergner@linux.ibm.com>
679
680	Backported from master:
681	2024-04-10  Peter Bergner  <bergner@linux.ibm.com>
682
683	PR target/101865
684	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define.
685	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace
686	OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete redundant
687	OPTION_MASK_DIRECT_MOVE usage.  Delete TARGET_DIRECT_MOVE dead code.
688	(rs6000_opt_masks): Neuter the "direct-move" option.
689	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace
690	OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete useless
691	comment.
692	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete
693	OPTION_MASK_DIRECT_MOVE.
694	(OTHER_P8_VECTOR_MASKS): Likewise.
695	(POWERPC_MASKS): Likewise.
696	* config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var.
697
6982024-05-01  Jeevitha  <jeevitha@linux.ibm.com>
699
700	Backported from master:
701	2024-03-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
702
703	PR target/113950
704	* config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1
705	and simplify else if with else.
706
7072024-04-30  Joe Ramsay  <Joe.Ramsay@arm.com>
708
709	Backported from master:
710	2024-03-15  Joe Ramsay  <Joe.Ramsay@arm.com>
711
712	* match.pd: Fix truncation pattern for -fno-signed-zeroes
713
7142024-04-30  Yang Yujie  <yangyujie@loongson.cn>
715
716	Backported from master:
717	2023-12-12  Yang Yujie  <yangyujie@loongson.cn>
718
719	PR target/114848
720	* config/loongarch/loongarch.cc: Do not restore the saved eh_return
721	data registers ($r4-$r7) for a normal return of a function that calls
722	__builtin_eh_return elsewhere.
723	* config/loongarch/loongarch-protos.h: Same.
724	* config/loongarch/loongarch.md: Same.
725
7262024-04-26  Richard Ball  <richard.ball@arm.com>
727
728	PR target/114272
729	* config/aarch64/aarch64-cores.def (AARCH64_CORE):
730	Change SCHEDULER_IDENT from cortexa55 to cortexa53
731	for Cortex-A510.
732
7332024-04-25  Richard Ball  <richard.ball@arm.com>
734
735	Backported from master:
736	2024-04-25  Richard Ball  <richard.ball@arm.com>
737
738	PR target/114837
739	* config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
740	Add zero/sign extend.
741	(arm_expand_prologue): Add zero/sign extend.
742
7432024-04-25  Kewen Lin  <linkw@linux.ibm.com>
744	    Andrew Pinski  <quic_apinski@quicinc.com>
745
746	PR target/88309
747	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix
748	wrong align passed to function build_aligned_type.
749	* tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an
750	assertion to ensure align_unit should be positive.
751	* tree.cc (build_qualified_type): Update function comments.
752
7532024-04-23  Jakub Jelinek  <jakub@redhat.com>
754
755	Backported from master:
756	2024-03-26  Jakub Jelinek  <jakub@redhat.com>
757
758	PR sanitizer/111736
759	* tsan.cc (instrument_expr): Punt on non-generic address space
760	accesses.
761
7622024-04-23  Jakub Jelinek  <jakub@redhat.com>
763
764	Backported from master:
765	2024-03-22  Jakub Jelinek  <jakub@redhat.com>
766
767	PR sanitizer/111736
768	* ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid
769	SANITIZE_NULL instrumentation for non-generic address spaces
770	for which targetm.addr_space.zero_address_valid (as) is true.
771
7722024-04-23  Richard Biener  <rguenther@suse.de>
773
774	Backported from master:
775	2024-03-21  Richard Biener  <rguenther@suse.de>
776
777	PR tree-optimization/111736
778	* asan.cc (instrument_derefs): Do not instrument accesses
779	to non-generic address-spaces.
780
7812024-04-23  Richard Biener  <rguenther@suse.de>
782
783	Backported from master:
784	2023-12-05  Richard Biener  <rguenther@suse.de>
785
786	PR sanitizer/111736
787	* asan.cc (asan_protect_global): Do not protect globals
788	in non-generic address-space.
789
7902024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
791
792	Backported from master:
793	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
794
795	* config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for
796	all 32b Darwin PowerPC cases.
797
7982024-04-22  Iain Sandoe  <iain@sandoe.co.uk>
799
800	Backported from master:
801	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
802
803	* config/darwin.cc (darwin_override_options): Update the
804	clang major version value in the dsymutil check.
805
8062024-04-21  Iain Sandoe  <iain@sandoe.co.uk>
807
808	Backported from master:
809	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>
810
811	* config/darwin.cc (darwin_override_options): Reduce the debug
812	level to 2 if dsymutil cannot handle .macinfo sections.
813
8142024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
815
816	Backported from master:
817	2023-10-25  Iain Sandoe  <iain@sandoe.co.uk>
818
819	* config/darwin.cc (darwin_override_options): Handle fPIE.
820
8212024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
822
823	* config/darwin.h (LINK_COMMAND_SPEC_A): Handle weak crts
824	before other objects. (REAL_LIBGCC_SPEC): Remove weak crts
825	from here.  (DARWIN_WEAK_CRTS): New.
826
8272024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
828
829	Backported from master:
830	2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>
831
832	* config/darwin.cc (darwin_build_constant_cfstring): Prevent over-
833	alignment of CFString constants by setting DECL_USER_ALIGN.
834
8352024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
836
837	Backported from master:
838	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
839
840	* config/darwin.cc (darwin_objc1_section): Use the correct
841	meta-data version for constant strings.
842	(machopic_select_section): Assert if we fail to handle CFString
843	sections as Obejctive-C meta-data or drectly.
844
8452024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
846
847	Backported from master:
848	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>
849
850	PR target/105522
851	* config/darwin.cc (machopic_select_section): Handle C and C++
852	CFStrings.
853	(darwin_rename_builtins): Move this out of the CFString code.
854	(darwin_libc_has_function): Likewise.
855	(darwin_build_constant_cfstring): Create an anonymous var to
856	hold each CFString.
857	* config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant
858	CFstrings.
859
8602024-04-19  Iain Sandoe  <iain@sandoe.co.uk>
861
862	Backported from master:
863	2023-10-26  Iain Sandoe  <iain@sandoe.co.uk>
864
865	* config/darwin.h
866	(darwin_label_is_anonymous_local_objc_name): Make metadata names
867	linker-visibile for GNU objective C.
868
8692024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
870
871	Backported from master:
872	2023-10-18  Iain Sandoe  <iain@sandoe.co.uk>
873
874	* config.in: Regenerate.
875	* config/darwin.cc (darwin_file_start): Add assembler directives
876	for the target OS version, where these are supported by the
877	assembler.
878	(darwin_override_options): Check for building >= macOS 10.14.
879	* configure: Regenerate.
880	* configure.ac: Check for assembler support of .build_version
881	directives.
882
8832024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
884
885	Backported from master:
886	2023-09-10  Iain Sandoe  <iain@sandoe.co.uk>
887
888	* config/darwin.cc (darwin_function_section): Place unlikely
889	executed global init code into the standard cold section.
890
8912024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
892
893	Backported from master:
894	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
895
896	* config/darwin-sections.def (static_init_section): Add the
897	__TEXT,__StaticInit section.
898	* config/darwin.cc (darwin_function_section): Use the static init
899	section for global initializers, to match other platform toolchains.
900
9012024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
902
903	Backported from master:
904	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>
905
906	* config/darwin-sections.def (darwin_exception_section): Move to
907	the __TEXT segment.
908	* config/darwin.cc (darwin_emit_except_table_label): Align before
909	the exception table label.
910	* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC-
911	relative 4byte relocs.
912
9132024-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
914
915	Backported from master:
916	2023-08-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
917
918	* configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v
919	output.
920	* configure: Regenerate.
921
9222024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
923
924	Backported from master:
925	2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>
926
927	* configure: Regenerate.
928	* configure.ac: Handle explict disable of stdlib option, set
929	defaults for Darwin.
930
9312024-04-18  Iain Sandoe  <iain@sandoe.co.uk>
932
933	Backported from master:
934	2023-09-20  Iain Sandoe  <iain@sandoe.co.uk>
935
936	* config/darwin.h:
937	(SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same
938	specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'.
939
9402024-04-15  Richard Biener  <rguenther@suse.de>
941
942	Backported from master:
943	2024-04-05  Richard Biener  <rguenther@suse.de>
944
945	PR middle-end/114599
946	PR gcov-profile/114115
947	* symtab.cc (ifunc_ref_map): Do not use auto_bitmap.
948	(is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit
949	pair.
950	(symtab_node::check_ifunc_callee_symtab_nodes): Properly
951	allocate ifunc_ref_map here.
952
9532024-04-15  H.J. Lu  <hjl.tools@gmail.com>
954
955	Backported from master:
956	2024-04-03  H.J. Lu  <hjl.tools@gmail.com>
957
958	PR tree-optimization/114115
959	* cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes.
960	(cgraph_node): Add called_by_ifunc_resolver.
961	* cgraphunit.cc (symbol_table::compile): Call
962	symtab_node::check_ifunc_callee_symtab_nodes.
963	* symtab.cc (check_ifunc_resolver): New.
964	(ifunc_ref_map): Likewise.
965	(is_caller_ifunc_resolver): Likewise.
966	(symtab_node::check_ifunc_callee_symtab_nodes): Likewise.
967	* tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect
968	call profiling for IFUNC resolvers and their callees.
969
9702024-04-15  Tamar Christina  <tamar.christina@arm.com>
971
972	* config/aarch64/aarch64.h (AARCH64_ARCH): Remove LS64 from
973	Armv8.7-a.
974
9752024-04-15  Tamar Christina  <tamar.christina@arm.com>
976
977	PR tree-optimization/113552
978	* config/aarch64/aarch64.cc
979	(aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1.
980
9812024-04-12  Iain Sandoe  <iain@sandoe.co.uk>
982
983	Backported from master:
984	2023-09-27  Iain Sandoe  <iain@sandoe.co.uk>
985
986	PR target/111610
987	* configure: Regenerate.
988	* configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN".
989
9902024-04-12  Iain Sandoe  <iain@sandoe.co.uk>
991
992	Backported from master:
993	2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>
994
995	* config/darwin-protos.h (enum darwin_external_toolchain): New.
996	* config/darwin.cc (DSYMUTIL_VERSION): New.
997	(darwin_override_options): Choose the default debug DWARF version
998	depending on the configured dsymutil version.
999
10002024-04-12  Iain Sandoe  <iain@sandoe.co.uk>
1001
1002	Backported from master:
1003	2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
1004
1005	* config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
1006	protocol class methods linker-visible.
1007
10082024-04-11  Kito Cheng  <kito.cheng@sifive.com>
1009
1010	Backported from master:
1011	2024-02-29  Kito Cheng  <kito.cheng@sifive.com>
1012
1013	PR target/114130
1014	* config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign
1015	extend the expected value if needed.
1016
10172024-04-04  Iain Sandoe  <iain@sandoe.co.uk>
1018
1019	Backported from master:
1020	2023-07-13  Iain Sandoe  <iain@sandoe.co.uk>
1021
1022	PR target/110624
1023	* config/darwin.h (DARWIN_PLATFORM_ID): New.
1024	(LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version
1025	and SDK data to the static linker.
1026
10272024-04-02  Qing Zhao  <qing.zhao@oracle.com>
1028
1029	Backported from master:
1030	2023-09-15  Qing Zhao  <qing.zhao@oracle.com>
1031
1032	PR tree-optimization/111407
1033	* tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform
1034	when one of the operands is subject to abnormal coalescing.
1035
10362024-04-01  Lulu Cheng  <chenglulu@loongson.cn>
1037
1038	Backported from master:
1039	2024-01-11  Lulu Cheng  <chenglulu@loongson.cn>
1040
1041	PR target/113233
1042	* config/loongarch/genopts/loongarch.opt.in: Mark options with
1043	the "Save" property.
1044	* config/loongarch/loongarch-opts.cc
1045	(loongarch_update_gcc_opt_status): Update the value of the
1046	la_target to global_options.
1047	* config/loongarch/loongarch-opts.h
1048	(loongarch_update_gcc_opt_status): Add a function declaration.
1049	* config/loongarch/loongarch.cc
1050	(loongarch_option_override_internal): Call the function
1051	loongarch_update_gcc_opt_status.
1052	(loongarch_option_save): New functions.
1053	(loongarch_option_restore): Likewise.
1054	(TARGET_OPTION_SAVE): Define macro.
1055	(TARGET_OPTION_RESTORE): Likewise.
1056	* config/loongarch/loongarch.opt: Regenerate.
1057
10582024-03-27  Richard Sandiford  <richard.sandiford@arm.com>
1059
1060	Backported from master:
1061	2024-03-05  Richard Sandiford  <richard.sandiford@arm.com>
1062
1063	PR sanitizer/97696
1064	* asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int.
1065
10662024-03-26  Richard Biener  <rguenther@suse.de>
1067
1068	Backported from master:
1069	2023-08-04  Richard Biener  <rguenther@suse.de>
1070
1071	PR tree-optimization/110838
1072	* match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict
1073	the arithmetic right-shift case to non-negative operands.
1074
10752024-03-26  Richard Biener  <rguenther@suse.de>
1076
1077	Backported from master:
1078	2023-07-27  Richard Biener  <rguenther@suse.de>
1079
1080	PR tree-optimization/91838
1081	* gimple-match-head.cc: Include attribs.h and asan.h.
1082	* generic-match-head.cc: Likewise.
1083	* match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern.
1084
10852024-03-17  Iain Sandoe  <iain@sandoe.co.uk>
1086
1087	Backported from master:
1088	2023-07-02  Iain Sandoe  <iain@sandoe.co.uk>
1089
1090	PR target/108743
1091	* config/darwin.opt: Add fconstant-cfstrings alias to
1092	mconstant-cfstrings.
1093	* doc/invoke.texi: Amend invocation descriptions to reflect
1094	that the fconstant-cfstrings is a target-option alias and to
1095	add the missing mconstant-cfstrings option description to the
1096	Darwin section.
1097
10982024-03-17  Iain Sandoe  <iain@sandoe.co.uk>
1099
1100	* config/i386/darwin.h (ENDFILE_SPEC): Fix whitespace.
1101
11022024-03-14  liuhongt  <hongtao.liu@intel.com>
1103
1104	Backported from master:
1105	2024-03-14  liuhongt  <hongtao.liu@intel.com>
1106
1107	* config/i386/i386-features.cc
1108	(general_scalar_chain::convert_op): Handle REG_EH_REGION note.
1109	(convert_scalars_to_vector): Ditto.
1110	* config/i386/i386-features.h (class scalar_chain): New
1111	memeber control_flow_insns.
1112
11132024-03-09  Lulu Cheng  <chenglulu@loongson.cn>
1114
1115	Backported from master:
1116	2024-03-09  Lulu Cheng  <chenglulu@loongson.cn>
1117
1118	* config/loongarch/sync.md (atomic_cas_value_strong<mode>):
1119	In loongarch64, a sign extension operation is added when
1120	operands[2] is a register operand and the mode is SImode.
1121
11222024-03-03  Oleg Endo  <olegendo@gcc.gnu.org>
1123
1124	PR target/101737
1125	* config/sh/sh.cc (sh_is_nott_insn): Handle case where the input
1126	is not an insn, but e.g. a code label.
1127
11282024-03-01  Richard Biener  <rguenther@suse.de>
1129
1130	Backported from master:
1131	2024-02-06  Richard Biener  <rguenther@suse.de>
1132
1133	PR tree-optimization/110221
1134	* tree-vect-slp.cc (vect_schedule_slp_node): When loop
1135	masking / len is applied make sure to not schedule
1136	intenal defs outside of the loop.
1137
11382024-02-27  Eric Botcazou  <ebotcazou@adacore.com>
1139
1140	* tree-ssa-dse.cc (compute_trims): Fix description.  Return early
1141	if either ref->offset is not byte aligned or ref->size is not known
1142	to be equal to ref->max_size.
1143	(maybe_trim_complex_store): Fix description.
1144	(maybe_trim_constructor_store): Likewise.
1145	(maybe_trim_partially_dead_store): Likewise.
1146
11472024-02-27  Jeevitha  <jeevitha@linux.ibm.com>
1148
1149	Backported from master:
1150	2023-08-31  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
1151
1152	PR target/110411
1153	* config/rs6000/mma.md (define_insn_and_split movoo): Disallow
1154	AltiVec address operands.
1155	(define_insn_and_split movxo): Likewise.
1156	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove
1157	redundant mode size check.
1158
11592024-02-27  H.J. Lu  <hjl.tools@gmail.com>
1160
1161	Backported from master:
1162	2024-02-26  H.J. Lu  <hjl.tools@gmail.com>
1163
1164	PR target/114098
1165	* config/i386/amxtileintrin.h (_tile_loadconfig): Use
1166	__builtin_ia32_ldtilecfg.
1167	(_tile_storeconfig): Use __builtin_ia32_sttilecfg.
1168	* config/i386/i386-builtin.def (BDESC): Add
1169	__builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg.
1170	* config/i386/i386-expand.cc (ix86_expand_builtin): Handle
1171	IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG.
1172	* config/i386/i386.md (ldtilecfg): New pattern.
1173	(sttilecfg): Likewise.
1174
11752024-02-23  Richard Earnshaw  <rearnsha@arm.com>
1176
1177	Backported from master:
1178	2024-02-23  Richard Earnshaw  <rearnsha@arm.com>
1179
1180	PR target/108120
1181	* config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3.
1182	Gate with ARM_HAVE_NEON_<MODE>_ARITH.
1183
11842024-02-22  Xi Ruoyao  <xry111@xry111.site>
1185
1186	Backported from master:
1187	2023-10-31  Xi Ruoyao  <xry111@xry111.site>
1188
1189	PR target/112299
1190	* config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0
1191	if not defined yet.
1192
11932024-02-22  Xi Ruoyao  <xry111@xry111.site>
1194
1195	Backported from master:
1196	2023-11-14  Xi Ruoyao  <xry111@xry111.site>
1197
1198	PR target/112330
1199	* config/loongarch/genopts/loongarch.opt.in: Add
1200	-m[no]-pass-relax-to-as.  Change the default of -m[no]-relax to
1201	account conditional branch relaxation support status.
1202	* config/loongarch/loongarch.opt: Regenerate.
1203	* configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if
1204	the assembler supports conditional branch relaxation.
1205	* configure: Regenerate.
1206	* config.in: Regenerate.  Note that there are some unrelated
1207	changes introduced by r14-5424 (which does not contain a
1208	config.in regeneration).
1209	* config/loongarch/loongarch-opts.h
1210	(HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined.
1211	* config/loongarch/loongarch.h (ASM_MRELAX_DEFAULT): Define.
1212	(ASM_MRELAX_SPEC): Define.
1213	(ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}".
1214	* doc/invoke.texi: Document -m[no-]relax and
1215	-m[no-]pass-mrelax-to-as for LoongArch.
1216
12172024-02-22  Lulu Cheng  <chenglulu@loongson.cn>
1218
1219	Backported from master:
1220	2023-09-20  Lulu Cheng  <chenglulu@loongson.cn>
1221
1222	* config.in: Regenerate.
1223	* config/loongarch/genopts/loongarch.opt.in: Add compilation option
1224	mrelax. And set the initial value of explicit-relocs according to the
1225	detection status.
1226	* config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the
1227	--no-relax option to the linker.
1228	* config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro.
1229	* config/loongarch/loongarch.opt: Regenerate.
1230	* configure: Regenerate.
1231	* configure.ac: Add detection of support for binutils relax function.
1232
12332024-02-22  Lulu Cheng  <chenglulu@loongson.cn>
1234
1235	Backported from master:
1236	2023-10-17  Lulu Cheng  <chenglulu@loongson.cn>
1237		    Chenghua Xu  <xuchenghua@loongson.cn>
1238
1239	* config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP):
1240	Delete.
1241
12422024-02-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1243
1244	Backported from master:
1245	2023-12-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1246
1247	PR target/112787
1248	* tree-vect-generic.cc (type_for_widest_vector_mode): Change function to
1249	use original vector type and check widest vector mode has at most the
1250	same number of elements.
1251	(get_compute_type): Pass original vector type rather than the element
1252	type to type_for_widest_vector_mode and remove now obsolete check for
1253	the number of elements.
1254
12552024-02-15  Jakub Jelinek  <jakub@redhat.com>
1256
1257	Backported from master:
1258	2024-02-15  Jakub Jelinek  <jakub@redhat.com>
1259
1260	PR middle-end/113921
1261	* cfgrtl.h (prepend_insn_to_edge): New declaration.
1262	* cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function
1263	comment.
1264	(prepend_insn_to_edge): New function.
1265	* cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of
1266	insert_insn_on_edge.
1267
12682024-02-14  Alex Coplan  <alex.coplan@arm.com>
1269
1270	Backported from master:
1271	2024-02-07  Alex Coplan  <alex.coplan@arm.com>
1272
1273	PR target/111677
1274	* config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use
1275	V16QImode for the full 16-byte FPR saves in the vector PCS case.
1276	(aarch64_gen_storewb_pair): Handle V16QImode.
1277	(aarch64_gen_loadwb_pair): Likewise.
1278	(aarch64_gen_load_pair): Likewise.
1279	* config/aarch64/aarch64.md (loadwb_pair<TX:mode>_<P:mode>):
1280	Rename to ...
1281	(loadwb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
1282	V16QImode.
1283	(storewb_pair<TX:mode>_<P:mode>): Rename to ...
1284	(storewb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
1285	V16QImode.
1286	* config/aarch64/iterators.md (TX_V16QI): New.
1287
12882024-02-14  Richard Biener  <rguenther@suse.de>
1289
1290	PR tree-optimization/113896
1291	* tree-vect-slp.cc (vect_optimize_slp): Permute
1292	SLP_TREE_SCALAR_STMTS when eliding a permuation in a
1293	VEC_PERM node we need to preserve because it wraps an
1294	extern vector.
1295
12962024-02-08  Georg-Johann Lay  <avr@gjlay.de>
1297
1298	Backported from master:
1299	2024-02-08  Georg-Johann Lay  <avr@gjlay.de>
1300
1301	PR target/113824
1302	* config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4.
1303	* doc/avr-mmcu.texi: Rebuild.
1304
13052024-02-05  Jason Merrill  <jason@redhat.com>
1306
1307	Backported from master:
1308	2023-06-02  Jason Merrill  <jason@redhat.com>
1309
1310	PR c++/95226
1311	PR c++/109359
1312	* varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match.
1313	(initializer_constant_valid_p_1): Compare float precision.
1314
13152024-02-05  Xi Ruoyao  <xry111@xry111.site>
1316
1317	Backported from master:
1318	2024-02-05  Xi Ruoyao  <xry111@xry111.site>
1319
1320	* config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for
1321	neg.
1322
13232024-02-05  Xi Ruoyao  <xry111@xry111.site>
1324
1325	Backported from master:
1326	2024-02-05  Xi Ruoyao  <xry111@xry111.site>
1327
1328	* config/mips/mips-msa.md (elmsgnbit): New define_mode_attr.
1329	(neg<mode>2): Change the mode iterator from MSA to IMSA because
1330	in FP arithmetic we cannot use (0 - x) for -x.
1331	(neg<mode>2): New define_insn to implement FP vector negation,
1332	using a bnegi instruction to negate the sign bit.
1333
13342024-02-02  Martin Jambor  <mjambor@suse.cz>
1335
1336	Backported from master:
1337	2024-01-24  Martin Jambor  <mjambor@suse.cz>
1338
1339	PR tree-optimization/110422
1340	* tree-sra.cc (scan_function): Disqualify bases of operands of asm
1341	gotos.
1342
13432024-02-01  John David Anglin  <danglin@gcc.gnu.org>
1344
1345	* config/pa/pa.md (atomic_storedi_1): Fix bug in
1346	alternative 1.
1347
13482024-01-26  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1349
1350	Backported from master:
1351	2024-01-16  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1352
1353	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU.
1354	* config/aarch64/aarch64-tune.md: Regenerated.
1355	* doc/invoke.texi (-mcpu): Add cobalt-100 core.
1356
13572024-01-25  Georg-Johann Lay  <avr@gjlay.de>
1358
1359	Backported from master:
1360	2024-01-25  Georg-Johann Lay  <avr@gjlay.de>
1361
1362	PR target/113601
1363	* config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start.
1364
13652024-01-16  Georg-Johann Lay  <avr@gjlay.de>
1366
1367	Backported from master:
1368	2024-01-15  Georg-Johann Lay  <avr@gjlay.de>
1369
1370	PR target/107201
1371	* config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib.
1372	* config/avr/driver-avr.cc (avr_no_devlib): New function.
1373	(avr_devicespecs_file): Use it to remove -nodevicelib from the
1374	options for cores only.
1375	* config/avr/avr-arch.h (avr_get_parch): New prototype.
1376	* config/avr/avr-devices.cc (avr_get_parch): New function.
1377
13782024-01-15  Andrew Pinski  <quic_apinski@quicinc.com>
1379
1380	Backported from master:
1381	2024-01-15  Andrew Pinski  <quic_apinski@quicinc.com>
1382
1383	PR target/113156
1384	* config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag.
1385	(-mbranch-cost): Set "Optimization" flag.
1386
13872024-01-12  Georg-Johann Lay  <avr@gjlay.de>
1388
1389	Backported from master:
1390	2024-01-12  Georg-Johann Lay  <avr@gjlay.de>
1391
1392	* config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from
1393	format string to %s argument.
1394
13952024-01-08  Georg-Johann Lay  <avr@gjlay.de>
1396
1397	Backported from master:
1398	2024-01-08  Georg-Johann Lay  <avr@gjlay.de>
1399
1400	PR target/112952
1401	* config/avr/avr.cc (avr_handle_addr_attribute): Also print valid
1402	range when diagnosing attribute "io" and "io_low" are out of range.
1403	(avr_eval_addr_attrib): Don't ICE on empty address at that place.
1404	(avr_insert_attributes): Reject if attribute "address", "io" or "io_low"
1405	in contexts other than static storage.
1406	(avr_asm_output_aligned_decl_common): Move output of decls with
1407	attribute "address", "io", and "io_low" to...
1408	(avr_output_addr_attrib): ...this new function.
1409	(avr_asm_asm_output_aligned_bss): Remove output for decls with
1410	attribute "address", "io", and "io_low".
1411	(avr_encode_section_info): Rectify handling of decls with attribute
1412	"address", "io", and "io_low".
1413
14142023-12-19  Jakub Jelinek  <jakub@redhat.com>
1415
1416	Backported from master:
1417	2023-12-19  Jakub Jelinek  <jakub@redhat.com>
1418
1419	PR target/112816
1420	* config/i386/mmx.md (signbitv2sf2): Force operands[1] into a REG.
1421
14222023-12-18  Jakub Jelinek  <jakub@redhat.com>
1423
1424	Backported from master:
1425	2023-12-18  Jakub Jelinek  <jakub@redhat.com>
1426
1427	PR tree-optimization/113013
1428	* tree-object-size.cc (alloc_object_size): Return size_unknown if
1429	corresponding argument(s) don't have integral type or have integral
1430	type with higher precision than sizetype.  Don't check arg1 >= 0
1431	uselessly.  Compare argument indexes against gimple_call_num_args
1432	in unsigned type rather than int.  Formatting fixes.
1433
14342023-12-16  Jakub Jelinek  <jakub@redhat.com>
1435
1436	Backported from master:
1437	2023-11-29  Jakub Jelinek  <jakub@redhat.com>
1438
1439	PR middle-end/112733
1440	* fold-const.cc (multiple_of_p): Pass SIGNED rather than
1441	UNSIGNED for wi::multiple_of_p on widest_int arguments.
1442
14432023-12-16  Jakub Jelinek  <jakub@redhat.com>
1444
1445	Backported from master:
1446	2023-12-05  Jakub Jelinek  <jakub@redhat.com>
1447
1448	PR target/112845
1449	* config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL
1450	if the new immediate is ix86_endbr_immediate_operand.
1451
14522023-12-16  Jakub Jelinek  <jakub@redhat.com>
1453
1454	Backported from master:
1455	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
1456
1457	PR target/112837
1458	* config/i386/i386.cc (ix86_elim_entry_set_got): Before checking
1459	for UNSPEC_SET_GOT check that SET_SRC is UNSPEC.  Use SET_SRC and
1460	SET_DEST macros instead of XEXP, rename vec variable to set.
1461
14622023-12-16  Jakub Jelinek  <jakub@redhat.com>
1463
1464	Backported from master:
1465	2023-12-04  Jakub Jelinek  <jakub@redhat.com>
1466
1467	PR target/112816
1468	* config/i386/sse.md (signbit<mode>2): Force operands[1] into a REG.
1469
14702023-12-16  Jakub Jelinek  <jakub@redhat.com>
1471
1472	Backported from master:
1473	2023-11-25  Jakub Jelinek  <jakub@redhat.com>
1474
1475	PR target/111408
1476	* config/i386/i386.md (*jcc_bt<mode>_mask): Add (const_int 0) as
1477	expected second operand of bt_comparison_operator.
1478
14792023-12-16  Jakub Jelinek  <jakub@redhat.com>
1480
1481	Backported from master:
1482	2023-11-13  Jakub Jelinek  <jakub@redhat.com>
1483
1484	PR tree-optimization/111967
1485	* gimple-range-cache.cc (block_range_cache::set_bb_range): Grow
1486	m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1.
1487	(block_range_cache::dump): Iterate from 1 rather than 0.  Don't use
1488	ssa_name (x) unless m_ssa_ranges[x] is non-NULL.  Iterate to
1489	m_ssa_ranges.length () rather than num_ssa_names.
1490
14912023-12-16  Jakub Jelinek  <jakub@redhat.com>
1492
1493	Backported from master:
1494	2023-11-09  Jakub Jelinek  <jakub@redhat.com>
1495
1496	PR c/112339
1497	* attribs.cc (attribute_ignored_p): Only return true for
1498	attr_namespace_ignored_p if as is NULL.
1499	(decl_attributes): Never add ignored attributes.
1500
15012023-12-16  Jakub Jelinek  <jakub@redhat.com>
1502
1503	Backported from master:
1504	2023-07-19  Jakub Jelinek  <jakub@redhat.com>
1505
1506	PR tree-optimization/110731
1507	* wide-int.cc (wi::divmod_internal): Always unpack dividend and
1508	divisor as UNSIGNED regardless of sgn.
1509
15102023-12-15  Richard Biener  <rguenther@suse.de>
1511
1512	Backported from master:
1513	2023-08-24  Richard Biener  <rguenther@suse.de>
1514
1515	PR debug/111080
1516	* dwarf2out.cc (prune_unused_types_walk): Handle
1517	DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type,
1518	DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type
1519	and DW_TAG_dynamic_type as to only output them when referenced.
1520
15212023-12-15  Richard Biener  <rguenther@suse.de>
1522
1523	Backported from master:
1524	2023-08-25  Richard Biener  <rguenther@suse.de>
1525
1526	PR tree-optimization/111137
1527	* tree-vect-data-refs.cc (vect_slp_analyze_load_dependences):
1528	Properly handle grouped stores from other SLP instances.
1529
15302023-12-15  Richard Biener  <rguenther@suse.de>
1531
1532	Backported from master:
1533	2023-08-25  Richard Biener  <rguenther@suse.de>
1534
1535	* tree-vect-data-refs.cc (vect_slp_analyze_store_dependences):
1536	Split out from vect_slp_analyze_node_dependences, remove
1537	dead code.
1538	(vect_slp_analyze_load_dependences): Split out from
1539	vect_slp_analyze_node_dependences, adjust comments.  Process
1540	queued stores before any disambiguation.
1541	(vect_slp_analyze_node_dependences): Remove.
1542	(vect_slp_analyze_instance_dependence): Adjust.
1543
15442023-12-12  liuhongt  <hongtao.liu@intel.com>
1545
1546	Backported from master:
1547	2023-12-12  liuhongt  <hongtao.liu@intel.com>
1548
1549	PR target/112891
1550	* config/i386/i386.cc (ix86_avx_u128_mode_after): Return
1551	AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to
1552	align with ix86_avx_u128_mode_needed.
1553	(ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for
1554	sibling_call.
1555
15562023-11-27  Richard Biener  <rguenther@suse.de>
1557
1558	Backported from master:
1559	2023-10-23  Richard Biener  <rguenther@suse.de>
1560
1561	PR tree-optimization/111917
1562	* tree-ssa-loop-unswitch.cc (hoist_guard): Always insert
1563	new conditional after last stmt.
1564
15652023-11-27  Richard Biener  <rguenther@suse.de>
1566
1567	Backported from master:
1568	2023-10-17  Richard Biener  <rguenther@suse.de>
1569
1570	PR middle-end/111818
1571	* tree-ssa.cc (maybe_optimize_var): When clearing
1572	DECL_NOT_GIMPLE_REG_P always rewrite into SSA.
1573
15742023-11-27  Richard Biener  <rguenther@suse.de>
1575
1576	Backported from master:
1577	2023-09-28  Richard Biener  <rguenther@suse.de>
1578
1579	PR tree-optimization/111614
1580	* tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly
1581	convert the first vector when required.
1582
15832023-11-27  Richard Biener  <rguenther@suse.de>
1584
1585	Backported from master:
1586	2023-10-12  Richard Biener  <rguenther@suse.de>
1587
1588	PR tree-optimization/111764
1589	* tree-vect-loop.cc (check_reduction_path): Remove the attempt
1590	to allow x + x via special-casing of assigns.
1591
15922023-11-27  Richard Biener  <rguenther@suse.de>
1593
1594	Backported from master:
1595	2023-10-20  Richard Biener  <rguenther@suse.de>
1596
1597	PR tree-optimization/111445
1598	* tree-scalar-evolution.cc (simple_iv_with_niters):
1599	Add missing check for a sign-conversion.
1600
16012023-11-27  Richard Biener  <rguenther@suse.de>
1602
1603	Backported from master:
1604	2023-08-18  Richard Biener  <rguenther@suse.de>
1605
1606	PR tree-optimization/111019
1607	* tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing
1608	also scrap base and offset in case the ref is indirect.
1609
16102023-11-27  Richard Biener  <rguenther@suse.de>
1611
1612	Backported from master:
1613	2023-08-03  Richard Biener  <rguenther@suse.de>
1614
1615	PR tree-optimization/110702
1616	* tree-ssa-loop-ivopts.cc (rewrite_use_address): When
1617	we created a NULL pointer based access rewrite that to
1618	a LEA.
1619
16202023-11-27  Richard Biener  <rguenther@suse.de>
1621
1622	Backported from master:
1623	2023-07-06  Richard Biener  <rguenther@suse.de>
1624
1625	PR tree-optimization/110556
1626	* tree-ssa-tail-merge.cc (gimple_equal_p): Check
1627	assign code and all operands of non-stores.
1628
16292023-11-27  Richard Biener  <rguenther@suse.de>
1630
1631	Backported from master:
1632	2023-07-06  Richard Biener  <rguenther@suse.de>
1633
1634	PR tree-optimization/110515
1635	* tree-ssa-pre.cc (compute_avail): Make code dealing
1636	with hoisting loads with different alias-sets more
1637	robust.
1638
16392023-11-27  Richard Biener  <rguenther@suse.de>
1640
1641	Backported from master:
1642	2023-06-20  Richard Biener  <rguenther@suse.de>
1643
1644	PR debug/110295
1645	* dwarf2out.cc (process_scope_var): Continue processing
1646	the decl after setting a parent in case the existing DIE
1647	was in limbo.
1648
16492023-11-27  Richard Biener  <rguenther@suse.de>
1650
1651	Backported from master:
1652	2023-05-31  Richard Biener  <rguenther@suse.de>
1653
1654	PR ipa/109983
1655	PR tree-optimization/109143
1656	* tree-ssa-structalias.cc (struct topo_info): Remove.
1657	(init_topo_info): Likewise.
1658	(free_topo_info): Likewise.
1659	(compute_topo_order): Simplify API, put the component
1660	with ESCAPED last so it's processed first.
1661	(topo_visit): Adjust.
1662	(solve_graph): Likewise.
1663
16642023-11-24  Uros Bizjak  <ubizjak@gmail.com>
1665
1666	Backported from master:
1667	2023-11-23  Uros Bizjak  <ubizjak@gmail.com>
1668
1669	PR target/112672
1670	* config/i386/i386.md (parityhi2):
1671	Use temporary register in the call to gen_parityhi2_cmp.
1672
16732023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
1674
1675	Backported from master:
1676	2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>
1677
1678	PR target/111815
1679	* config/vax/vax.cc (index_term_p): Only accept the index scaler
1680	as the RHS operand to ASHIFT.
1681
16822023-11-20  Lulu Cheng  <chenglulu@loongson.cn>
1683
1684	Backported from master:
1685	2023-11-20  Lulu Cheng  <chenglulu@loongson.cn>
1686
1687	* config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix.
1688
16892023-11-20  Peng Fan  <fanpeng@loongson.cn>
1690
1691	Backported from master:
1692	2023-04-21  Peng Fan  <fanpeng@loongson.cn>
1693
1694	* config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine.
1695
16962023-11-16  Xi Ruoyao  <xry111@xry111.site>
1697
1698	Backported from master:
1699	2023-11-15  Xi Ruoyao  <xry111@xry111.site>
1700
1701	* config/loongarch/loongarch.cc
1702	(loongarch_memmodel_needs_release_fence): Remove.
1703	(loongarch_cas_failure_memorder_needs_acquire): New static
1704	function.
1705	(loongarch_print_operand): Redefine 'G' for the barrier on CAS
1706	failure.
1707	* config/loongarch/sync.md (atomic_cas_value_strong<mode>):
1708	Remove the redundant barrier before the LL instruction, and
1709	emit an acquire barrier on failure if needed by
1710	failure_memorder.
1711	(atomic_cas_value_cmp_and_7_<mode>): Likewise.
1712	(atomic_cas_value_add_7_<mode>): Remove the unnecessary barrier
1713	before the LL instruction.
1714	(atomic_cas_value_sub_7_<mode>): Likewise.
1715	(atomic_cas_value_and_7_<mode>): Likewise.
1716	(atomic_cas_value_xor_7_<mode>): Likewise.
1717	(atomic_cas_value_or_7_<mode>): Likewise.
1718	(atomic_cas_value_nand_7_<mode>): Likewise.
1719	(atomic_cas_value_exchange_7_<mode>): Likewise.
1720
17212023-11-15  Kewen Lin  <linkw@linux.ibm.com>
1722
1723	Backported from master:
1724	2023-11-06  Kewen Lin  <linkw@linux.ibm.com>
1725
1726	PR target/111828
1727	* config.in: Regenerate.
1728	* config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard
1729	inline asm handling under !HAVE_AS_POWER10_HTM.
1730	* configure: Regenerate.
1731	* configure.ac: Detect assembler support for HTM insns at power10.
1732
17332023-11-10  liuhongt  <hongtao.liu@intel.com>
1734
1735	Backported from master:
1736	2023-11-10  liuhongt  <hongtao.liu@intel.com>
1737
1738	PR target/112443
1739	* config/i386/sse.md (*avx2_pcmp<mode>3_4): Fix swap condition
1740	from LT to GT since there's not in the pattern.
1741	(*avx2_pcmp<mode>3_5): Ditto.
1742
17432023-11-06  John David Anglin  <danglin@gcc.gnu.org>
1744
1745	* config/pa/pa.cc (pa_asm_trampoline_template): Fix typo.
1746
17472023-10-26  Lulu Cheng  <chenglulu@loongson.cn>
1748
1749	Backported from master:
1750	2023-10-23  Lulu Cheng  <chenglulu@loongson.cn>
1751
1752	* config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition.
1753
17542023-10-26  chenxiaolong  <chenxiaolong@loongson.cn>
1755
1756	Backported from master:
1757	2023-10-25  chenxiaolong  <chenxiaolong@loongson.cn>
1758
1759	* config/loongarch/loongarch.md (get_thread_pointer<mode>):Adds the
1760	instruction template corresponding to the __builtin_thread_pointer
1761	function.
1762	* doc/extend.texi:Add the __builtin_thread_pointer function support
1763	description to the documentation.
1764
17652023-10-26  liuhongt  <hongtao.liu@intel.com>
1766
1767	Backported from master:
1768	2023-07-06  liuhongt  <hongtao.liu@intel.com>
1769
1770	PR target/110170
1771	* config/i386/i386.md (movdf_internal): Disparage slightly for
1772	2 alternatives (r,v) and (v,r) by adding constraint modifier
1773	'?'.
1774
17752023-10-23  Oleg Endo  <olegendo@gcc.gnu.org>
1776
1777	PR target/111001
1778	* config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg):
1779	Skip over nop move insns.
1780
17812023-10-23  Kewen Lin  <linkw@linux.ibm.com>
1782
1783	Backported from master:
1784	2023-10-12  Kewen Lin  <linkw@linux.ibm.com>
1785
1786	PR target/111367
1787	* config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed
1788	instruction emission and incorporate to stack_protect_set<mode>.
1789	(stack_protect_setdi): Rename to ...
1790	(stack_protect_set<mode>): ... this, adjust constraint.
1791	(stack_protect_testsi): Support prefixed instruction emission and
1792	incorporate to stack_protect_test<mode>.
1793	(stack_protect_testdi): Rename to ...
1794	(stack_protect_test<mode>): ... this, adjust constraint.
1795
17962023-10-20  Oleg Endo  <olegendo@gcc.gnu.org>
1797
1798	PR target/101177
1799	* config/sh/sh.md (unnamed split pattern): Fix comparison of
1800	find_regno_note result.
1801
18022023-10-19  Richard Sandiford  <richard.sandiford@arm.com>
1803
1804	Backported from master:
1805	2023-09-07  Richard Sandiford  <richard.sandiford@arm.com>
1806
1807	PR target/111528
1808	* lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary
1809	rather than gen_rtx_PLUS.
1810
18112023-10-16  Kewen Lin  <linkw@linux.ibm.com>
1812
1813	Backported from master:
1814	2023-09-25  Kewen Lin  <linkw@linux.ibm.com>
1815
1816	PR target/111380
1817	* config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt
1818	target_option_default_node when the callee has no option
1819	attributes, also simplify the existing code accordingly.
1820
18212023-10-16  Kewen Lin  <linkw@linux.ibm.com>
1822
1823	Backported from master:
1824	2023-09-25  Kewen Lin  <linkw@linux.ibm.com>
1825
1826	PR target/111366
1827	* config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip
1828	empty inline asm.
1829
18302023-10-07  Andrew Pinski  <pinskia@gmail.com>
1831
1832	Backported from master:
1833	2023-10-06  Andrew Pinski  <pinskia@gmail.com>
1834
1835	PR middle-end/111699
1836	* match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
1837	(v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE.
1838
18392023-10-02  Pat Haugen  <pthaugen@linux.ibm.com>
1840
1841	Backported from master:
1842	2023-09-19  Pat Haugen  <pthaugen@linux.ibm.com>
1843
1844	* config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the
1845	modulo instruction is disabled.
1846	* config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New.
1847	* config/rs6000/rs6000.md (mod<mode>3, *mod<mode>3): Check it.
1848	(define_expand umod<mode>3): New.
1849	(define_insn umod<mode>3): Rename to *umod<mode>3 and check if the modulo
1850	instruction is disabled.
1851	(umodti3, modti3): Check if the modulo instruction is disabled.
1852
18532023-09-29  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1854
1855	Backported from master:
1856	2023-09-28  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1857
1858	PR target/111121
1859	* config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander.
1860	(movmemdi): Call aarch64_expand_cpymem_mops for correct expansion.
1861	* config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support
1862	for memmove.
1863	* config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new
1864	function.
1865
18662023-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1867
1868	* gimple-range-gori.cc (gori_compute::logical_combine): Add missing
1869	return statement in the varying case.
1870
18712023-09-20  Richard Sandiford  <richard.sandiford@arm.com>
1872
1873	Backported from master:
1874	2023-09-15  Richard Sandiford  <richard.sandiford@arm.com>
1875
1876	PR target/111411
1877	* config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require
1878	the lower memory access to a mem-pair operand.
1879
18802023-09-20  Richard Sandiford  <richard.sandiford@arm.com>
1881
1882	Backported from master:
1883	2023-08-31  Richard Sandiford  <richard.sandiford@arm.com>
1884
1885	* config/aarch64/aarch64.md (untyped_call): Emit a call_value
1886	rather than a call.  List each possible destination register
1887	in the call pattern.
1888
18892023-09-12  Uros Bizjak  <ubizjak@gmail.com>
1890
1891	PR target/111340
1892	* config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT.
1893	Call output_addr_const for CASE_CONST_SCALAR_INT.
1894
18952023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1896
1897	* config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p):
1898	New function.
1899	(aarch64_layout_frame): Use it to decide whether locals should
1900	go above or below the saved registers.
1901	(aarch64_expand_prologue): Update stack layout comment.
1902	Emit a stack tie after the final adjustment.
1903
19042023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1905
1906	* config/aarch64/aarch64.h (aarch64_frame::saved_regs_size)
1907	(aarch64_frame::below_hard_fp_saved_regs_size): Delete.
1908	* config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly.
1909
19102023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1911
1912	* config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe)
1913	(aarch64_frame::hard_fp_save_and_probe): New fields.
1914	* config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them.
1915	Rather than asserting that a leaf function saves LR, instead assert
1916	that a leaf function saves something.
1917	(aarch64_get_separate_components): Prevent the chosen probe
1918	registers from being individually shrink-wrapped.
1919	(aarch64_allocate_and_probe_stack_space): Remove workaround for
1920	probe registers that aren't at the bottom of the previous allocation.
1921
19222023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1923
1924	* config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space):
1925	Always probe the residual allocation at offset 1024, asserting
1926	that that is in range.
1927
19282023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1929
1930	* config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that
1931	the LR save slot is in the first 16 bytes of the register save area.
1932	Only form STP/LDP push/pop candidates if both registers are valid.
1933	(aarch64_allocate_and_probe_stack_space): Remove workaround for
1934	when LR was not in the first 16 bytes.
1935
19362023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1937
1938	* config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space):
1939	Don't probe final allocations that are exactly 1KiB in size (after
1940	unprobed space above the final allocation has been deducted).
1941
19422023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1943
1944	* config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak
1945	calculation of initial_adjust for frames in which all saves
1946	are SVE saves.
1947
19482023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1949
1950	* config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify
1951	the allocation of the top of the frame.
1952
19532023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1954
1955	* config/aarch64/aarch64.h (aarch64_frame): Add comment above
1956	reg_offset.
1957	* config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets
1958	from the bottom of the frame, rather than the bottom of the saved
1959	register area.  Measure reg_offset from the bottom of the frame
1960	rather than the bottom of the saved register area.
1961	(aarch64_save_callee_saves): Update accordingly.
1962	(aarch64_restore_callee_saves): Likewise.
1963	(aarch64_get_separate_components): Likewise.
1964	(aarch64_process_components): Likewise.
1965
19662023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1967
1968	* config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment.
1969
19702023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1971
1972	* config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename
1973	to...
1974	(aarch64_frame::bytes_above_hard_fp): ...this.
1975	* config/aarch64/aarch64.cc (aarch64_layout_frame)
1976	(aarch64_expand_prologue): Update accordingly.
1977	(aarch64_initial_elimination_offset): Likewise.
1978
19792023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1980
1981	* config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to...
1982	(aarch64_frame::bytes_above_locals): ...this.
1983	* config/aarch64/aarch64.cc (aarch64_layout_frame)
1984	(aarch64_initial_elimination_offset): Update accordingly.
1985
19862023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1987
1988	* config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the
1989	calculation of chain_offset into the emit_frame_chain block.
1990
19912023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
1992
1993	* config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete.
1994	* config/aarch64/aarch64.cc (aarch64_layout_frame): Remove
1995	callee_offset handling.
1996	(aarch64_save_callee_saves): Replace the start_offset parameter
1997	with a bytes_below_sp parameter.
1998	(aarch64_restore_callee_saves): Likewise.
1999	(aarch64_expand_prologue): Update accordingly.
2000	(aarch64_expand_epilogue): Likewise.
2001
20022023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2003
2004	* config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New
2005	field.
2006	* config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it.
2007	(aarch64_expand_epilogue): Use it instead of
2008	below_hard_fp_saved_regs_size.
2009
20102023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2011
2012	* config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New
2013	field.
2014	* config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it,
2015	and use it instead of crtl->outgoing_args_size.
2016	(aarch64_get_separate_components): Use bytes_below_saved_regs instead
2017	of outgoing_args_size.
2018	(aarch64_process_components): Likewise.
2019
20202023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2021
2022	* config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly
2023	allocate the frame in one go if there are no saved registers.
2024
20252023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2026
2027	* config/aarch64/aarch64.cc (aarch64_expand_prologue): Use
2028	chain_offset rather than callee_offset.
2029
20302023-09-12  Richard Sandiford  <richard.sandiford@arm.com>
2031
2032	* config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use
2033	a local shorthand for cfun->machine->frame.
2034	(aarch64_restore_callee_saves, aarch64_get_separate_components):
2035	(aarch64_process_components): Likewise.
2036	(aarch64_allocate_and_probe_stack_space): Likewise.
2037	(aarch64_expand_prologue, aarch64_expand_epilogue): Likewise.
2038	(aarch64_layout_frame): Use existing shorthand for one more case.
2039
20402023-09-12  Haochen Gui  <guihaoc@gcc.gnu.org>
2041
2042	Backported from master:
2043	2023-08-31  Haochen Gui  <guihaoc@gcc.gnu.org>
2044
2045	PR target/96762
2046	* config/rs6000/rs6000-string.cc (expand_block_move): Call vector
2047	load/store with length only on 64-bit Power10.
2048
20492023-09-11  liuhongt  <hongtao.liu@intel.com>
2050
2051	Backported from master:
2052	2023-09-11  liuhongt  <hongtao.liu@intel.com>
2053
2054	PR target/111306
2055	PR target/111335
2056	* config/i386/sse.md (int_comm): New int_attr.
2057	(fma_<complexopname>_<mode><sdc_maskz_name><round_name>):
2058	Remove % for Complex conjugate operations since they're not
2059	commutative.
2060	(fma_<complexpairopname>_<mode>_pair): Ditto.
2061	(<avx512>_<complexopname>_<mode>_mask<round_name>): Ditto.
2062	(cmul<conj_op><mode>3): Ditto.
2063
20642023-09-01  Tobias Burnus  <tobias@codesourcery.com>
2065
2066	Backported from master:
2067	2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
2068
2069	PR middle-end/111017
2070	* omp-expand.cc (expand_omp_for_init_vars): Pass after=true
2071	to expand_omp_build_cond for 'factor != 0' condition, resulting
2072	in pre-r12-5295-g47de0b56ee455e code for the gimple insert.
2073
20742023-09-01  Lulu Cheng  <chenglulu@loongson.cn>
2075
2076	Backported from master:
2077	2023-09-01  Lulu Cheng  <chenglulu@loongson.cn>
2078		    Guo Jie  <guojie@loongson.cn>
2079
2080	PR target/110484
2081	* config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the
2082	frame_pointer_needed to determine whether to use the $fp register.
2083
20842023-08-30  Jakub Jelinek  <jakub@redhat.com>
2085
2086	Backported from master:
2087	2023-08-30  Jakub Jelinek  <jakub@redhat.com>
2088
2089	PR tree-optimization/110914
2090	* tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call
2091	adjust_last_stmt unless len is known constant.
2092
20932023-08-30  Jakub Jelinek  <jakub@redhat.com>
2094
2095	Backported from master:
2096	2023-08-30  Jakub Jelinek  <jakub@redhat.com>
2097
2098	PR tree-optimization/111015
2099	* gimple-ssa-store-merging.cc
2100	(imm_store_chain_info::output_merged_store): Use wi::mask and
2101	wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and
2102	build_int_cst to build BIT_AND_EXPR mask.
2103
21042023-08-19  Guo Jie  <guojie@loongson.cn>
2105
2106	Backported from master:
2107	2023-08-19  Guo Jie  <guojie@loongson.cn>
2108		    Lulu Cheng  <chenglulu@loongson.cn>
2109
2110	* config/loongarch/t-loongarch: Add loongarch-driver.h into
2111	TM_H. Add loongarch-def.h and loongarch-tune.h into
2112	OPTIONS_H_EXTRA.
2113
21142023-08-16  liuhongt  <hongtao.liu@intel.com>
2115
2116	Backported from master:
2117	2023-08-16  liuhongt  <hongtao.liu@intel.com>
2118
2119	* config/i386/i386-builtins.cc
2120	(ix86_vectorize_builtin_gather): Adjust for use_gather_8parts.
2121	* config/i386/i386-options.cc (parse_mtune_ctrl_str):
2122	Set/Clear tune features use_{gather,scatter}_{2parts, 4parts,
2123	8parts} for -mtune-crtl={,^}{use_gather,use_scatter}.
2124	* config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust
2125	for use_scatter_8parts
2126	* config/i386/i386.h (TARGET_USE_GATHER): Rename to ..
2127	(TARGET_USE_GATHER_8PARTS): .. this.
2128	(TARGET_USE_SCATTER): Rename to ..
2129	(TARGET_USE_SCATTER_8PARTS): .. this.
2130	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to
2131	(X86_TUNE_USE_GATHER_8PARTS): .. this.
2132	(X86_TUNE_USE_SCATTER): Rename to
2133	(X86_TUNE_USE_SCATTER_8PARTS): .. this.
2134	* config/i386/i386.opt: Add new options mgather, mscatter.
2135
21362023-08-16  liuhongt  <hongtao.liu@intel.com>
2137
2138	Backported from master:
2139	2023-08-16  liuhongt  <hongtao.liu@intel.com>
2140
2141	* config/i386/i386-options.cc (m_GDS): New macro.
2142	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't
2143	enable for m_GDS.
2144	(X86_TUNE_USE_GATHER_4PARTS): Ditto.
2145	(X86_TUNE_USE_GATHER): Ditto.
2146
21472023-08-09  liuhongt  <hongtao.liu@intel.com>
2148
2149	* common/config/i386/cpuinfo.h (get_available_features): Check
2150	max_subleaf_level for valid subleaf before use CPUID.
2151
21522023-08-01  Kewen Lin  <linkw@linux.ibm.com>
2153
2154	Backported from master:
2155	2023-07-26  Kewen Lin  <linkw@linux.ibm.com>
2156
2157	PR target/110741
2158	* config/rs6000/vsx.md (define_insn xxeval): Correct vsx
2159	operands output with "x".
2160
21612023-07-14  Uros Bizjak  <ubizjak@gmail.com>
2162
2163	Backported from master:
2164	2023-07-14  Uros Bizjak  <ubizjak@gmail.com>
2165
2166	PR target/110206
2167	* fwprop.cc (contains_paradoxical_subreg_p): Move to ...
2168	* rtlanal.cc (contains_paradoxical_subreg_p): ... here.
2169	* rtlanal.h (contains_paradoxical_subreg_p): Add prototype.
2170	* cprop.cc (try_replace_reg): Do not set REG_EQUAL note
2171	when the original source contains a paradoxical subreg.
2172
21732023-07-14  Oleg Endo  <olegendo@gcc.gnu.org>
2174
2175	PR target/101469
2176	* config/sh/sh.md (peephole2): Handle case where eliminated reg
2177	is also	used by the address of the following memory operand.
2178
21792023-07-13  Uros Bizjak  <ubizjak@gmail.com>
2180
2181	Backported from master:
2182	2023-07-13  Uros Bizjak  <ubizjak@gmail.com>
2183
2184	PR target/106966
2185	* config/alpha/alpha.cc (alpha_emit_set_long_const):
2186	Always use DImode when constructing long const.
2187
21882023-07-08  Jonathan Wakely  <jwakely@redhat.com>
2189
2190	Backported from master:
2191	2023-07-08  Jonathan Wakely  <jwakely@redhat.com>
2192
2193	PR c++/110595
2194	* doc/invoke.texi (Warning Options): Fix typo.
2195
21962023-07-05  Michael Meissner  <meissner@linux.ibm.com>
2197
2198	Backported from master:
2199	2023-06-23   Michael Meissner  <meissner@linux.ibm.com>
2200		    Aaron Sawdey   <acsawdey@linux.ibm.com>
2201
2202	PR target/105325
2203	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that
2204	allowed prefixed lwa to be generated.
2205	* config/rs6000/fusion.md: Regenerate.
2206	* config/rs6000/predicates.md (ds_form_mem_operand): Delete.
2207	* config/rs6000/rs6000.md (prefixed attribute): Add support for load
2208	plus compare immediate fused insns.
2209	(maybe_prefixed): Likewise.
2210
22112023-07-05  Segher Boessenkool  <segher@kernel.crashing.org>
2212
2213	Backported from master:
2214	2023-06-06  Segher Boessenkool  <segher@kernel.crashing.org>
2215
2216	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and
2217	split out from...
2218	(gen_ld_cmpi_p10): ... this.
2219
22202023-07-04  Cui, Lili  <lili.cui@intel.com>
2221
2222	* common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8
2223	from Rocketlake, remove model value 0xbf from Alderlake.
2224
22252023-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2226
2227	* gimple-fold.cc (fold_array_ctor_reference): Fix head comment.
2228	(fold_nonarray_ctor_reference): Likewise.  Specifically deal
2229	with integral bit-fields.
2230	(fold_ctor_reference): Make sure that the constructor uses the
2231	native storage order.
2232
22332023-06-29  liuhongt  <hongtao.liu@intel.com>
2234
2235	PR rtl-optimization/110237
2236	* config/i386/sse.md (<avx512>_store<mode>_mask): Refine with
2237	UNSPEC_MASKMOV.
2238	(maskstore<mode><avx512fmaskmodelower): Ditto.
2239	(*<avx512>_store<mode>_mask): New define_insn, it's renamed
2240	from original <avx512>_store<mode>_mask.
2241
22422023-06-29  liuhongt  <hongtao.liu@intel.com>
2243
2244	PR target/110309
2245	* config/i386/sse.md (maskload<mode><avx512fmaskmodelower>):
2246	Refine pattern with UNSPEC_MASKLOAD.
2247	(maskload<mode><avx512fmaskmodelower>): Ditto.
2248	(*<avx512>_load<mode>_mask): Extend mode iterator to
2249	VI12HF_AVX512VL.
2250	(*<avx512>_load<mode>): Ditto.
2251
22522023-06-29  Hongyu Wang  <hongyu.wang@intel.com>
2253
2254	Backported from master:
2255	2023-06-26  Hongyu Wang  <hongyu.wang@intel.com>
2256
2257	* config/i386/i386-options.cc (ix86_valid_target_attribute_tree):
2258	Override tune_string with arch_string if tune_string is not
2259	explicitly specified.
2260
22612023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
2262
2263	Backported from master:
2264	2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
2265
2266	PR testsuite/66005
2267	* doc/install.texi: Document (optional) Perl usage for parallel
2268	testing of libgomp.
2269
22702023-06-28  liuhongt  <hongtao.liu@intel.com>
2271
2272	* config/i386/i386-features.cc (pass_insert_vzeroupper:gate):
2273	Move flag_expensive_optimizations && !optimize_size to ..
2274	* config/i386/i386-options.cc (ix86_option_override_internal):
2275	.. this, it makes -mvzeroupper independent of optimization
2276	level, but still keeps the behavior of architecture
2277	tuning(emit_vzeroupper) unchanged.
2278
22792023-06-27  Andrew Pinski  <apinski@marvell.com>
2280
2281	Backported from master:
2282	2023-06-27  Andrew Pinski  <apinski@marvell.com>
2283
2284	PR middle-end/110420
2285	PR middle-end/103979
2286	PR middle-end/98619
2287	* gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile.
2288
22892023-06-23  Richard Biener  <rguenther@suse.de>
2290
2291	Backported from master:
2292	2023-06-19  Richard Biener  <rguenther@suse.de>
2293
2294	PR tree-optimization/110298
2295	* tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely):
2296	Clear number of iterations info before cleaning up the CFG.
2297
22982023-06-23  Richard Biener  <rguenther@suse.de>
2299
2300	Backported from master:
2301	2023-06-09  Richard Biener  <rguenther@suse.de>
2302
2303	PR middle-end/110182
2304	* match.pd (two conversions in a row): Use element_precision
2305	to DTRT for VECTOR_TYPE.
2306
23072023-06-22  Alex Coplan  <alex.coplan@arm.com>
2308
2309	Backported from master:
2310	2023-06-07  Alex Coplan  <alex.coplan@arm.com>
2311
2312	PR target/110132
2313	* config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin):
2314	New. Use it ...
2315	(aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE
2316	names for builtins.
2317	(aarch64_general_init_builtins): Ensure we invoke the arm_acle.h
2318	setup if in_lto_p, just like we do for SVE.
2319	* config/aarch64/arm_acle.h: (__arm_ld64b): Delete.
2320	(__arm_st64b): Delete.
2321	(__arm_st64bv): Delete.
2322	(__arm_st64bv0): Delete.
2323
23242023-06-22  Alex Coplan  <alex.coplan@arm.com>
2325
2326	Backported from master:
2327	2023-06-07  Alex Coplan  <alex.coplan@arm.com>
2328
2329	PR target/110100
2330	* config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64):
2331	Use input operand for the destination address.
2332	* config/aarch64/aarch64.md (st64b): Fix constraint on address
2333	operand.
2334
23352023-06-22  Alex Coplan  <alex.coplan@arm.com>
2336
2337	Backported from master:
2338	2023-06-07  Alex Coplan  <alex.coplan@arm.com>
2339
2340	PR target/110100
2341	* config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types):
2342	Replace eight consecutive spaces with tabs.
2343	(aarch64_init_ls64_builtins): Likewise.
2344	(aarch64_expand_builtin_ls64): Likewise.
2345	* config/aarch64/aarch64.md (ld64b): Likewise.
2346	(st64b): Likewise.
2347	(st64bv): Likewise
2348	(st64bv0): Likewise.
2349
23502023-06-20  Kewen Lin  <linkw@linux.ibm.com>
2351
2352	Backported from master:
2353	2023-06-12  Kewen Lin  <linkw@linux.ibm.com>
2354
2355	PR target/109932
2356	* config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128,
2357	__builtin_unpack_vector_int128): Move from stanza power7 to vsx.
2358
23592023-06-20  Kewen Lin  <linkw@linux.ibm.com>
2360
2361	Backported from master:
2362	2023-06-12  Kewen Lin  <linkw@linux.ibm.com>
2363
2364	PR target/110011
2365	* config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit
2366	floating constant itself for real_to_target call.
2367
23682023-06-15  Lulu Cheng  <chenglulu@loongson.cn>
2369
2370	Backported from master:
2371	2023-06-15  Lulu Cheng  <chenglulu@loongson.cn>
2372		    Andrew Pinski  <apinski@marvell.com>
2373
2374	PR target/110136
2375	* config/loongarch/loongarch.md: Modify the register constraints for template
2376	"jumptable" and "indirect_jump" from "r" to "e".
2377
23782023-06-12  Richard Biener  <rguenther@suse.de>
2379
2380	Backported from master:
2381	2023-06-12  Richard Biener  <rguenther@suse.de>
2382
2383	PR middle-end/110200
2384	* genmatch.cc (expr::gen_transform): Put braces around
2385	the if arm for the (convert ...) short-cut.
2386
23872023-06-10  Georg-Johann Lay  <avr@gjlay.de>
2388
2389	PR target/109650
2390	PR target/92729
2391	Backport from 2023-05-10 master r14-1688.
2392	* config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass.
2393	* config/avr/avr.cc (avr_pass_ifelse): New RTL pass.
2394	(avr_pass_data_ifelse): New pass_data for it.
2395	(make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost)
2396	(avr_canonicalize_comparison, avr_out_plus_set_ZN)
2397	(avr_out_cmp_ext): New functions.
2398	(compare_condtition): Make sure REG_CC dies in the branch insn.
2399	(avr_rtx_costs_1): Add computation of cbranch costs.
2400	(avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]:
2401	[ADJUST_LEN_CMP_SEXT]Handle them.
2402	(TARGET_CANONICALIZE_COMPARISON): New define.
2403	(avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern)
2404	(avr_reorg_remove_redundant_compare, avr_reorg): Remove functions.
2405	(TARGET_MACHINE_DEPENDENT_REORG): Remove define.
2406	* config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto.
2407	(make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx)
2408	(avr_out_cmp_zext): New Protos
2409	* config/avr/avr.md (branch, difficult_branch): Don't split insns.
2410	(*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1")
2411	(*swapped_tst<mode>, *add.for.eqne.<mode>): New insns.
2412	(*cbranch<mode>4): Rename to cbranch<mode>4_insn.
2413	(define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed.
2414	(define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed.
2415	Add new RTL peepholes for decrement-and-branch and *swapped_tst<mode>.
2416	Rework signtest-and-branch peepholes for *sbrx_branch<mode>.
2417	(adjust_len) [add_set_ZN, cmp_zext]: New.
2418	(QIPSI): New mode iterator.
2419	(ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators.
2420	(gelt): New code iterator.
2421	(gelt_eqne): New code attribute.
2422	(rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch)
2423	(branch_unspec, *negated_tst<mode>, *reversed_tst<mode>)
2424	(*cmpqi_sign_extend): Remove insns.
2425	(define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove.
2426	* config/avr/avr-dimode.md (cbranch<mode>4): Canonicalize comparisons.
2427	* config/avr/predicates.md (scratch_or_d_register_operand): New.
2428	* config/avr/constraints.md (Yxx): New constraint.
2429
24302023-06-09  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
2431
2432	Backported from master:
2433	2023-06-06  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>
2434
2435	PR target/106907
2436	* config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove
2437	duplicate expression.
2438
24392023-06-09  Iain Sandoe  <iain@sandoe.co.uk>
2440
2441	Backported from master:
2442	2023-06-02  Iain Sandoe  <iain@sandoe.co.uk>
2443
2444	PR target/110044
2445	* config/rs6000/rs6000.cc (darwin_rs6000_special_round_type_align):
2446	Make sure that we do not have a cap on field alignment before altering
2447	the struct layout based on the type alignment of the first entry.
2448
24492023-06-09  liuhongt  <hongtao.liu@intel.com>
2450
2451	PR target/110108
2452	* config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly
2453	view_convert_expr mask to signed type when folding pblendvb
2454	builtins.
2455
24562023-06-08  Alex Coplan  <alex.coplan@arm.com>
2457
2458	Backported from master:
2459	2023-05-25  Alex Coplan  <alex.coplan@arm.com>
2460
2461	PR target/109800
2462	* config/arm/arm.md (movdf): Generate temporary pseudo in DImode
2463	instead of DFmode.
2464	* config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an
2465	lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into
2466	DFmode as an rvalue.
2467
24682023-06-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2469
2470	Backported from master:
2471	2023-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2472
2473	PR target/109939
2474	* config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use
2475	qualifier_none for the return operand.
2476
24772023-06-02  Georg-Johann Lay  <avr@gjlay.de>
2478
2479	PR target/110088
2480	* config/avr/avr.md: Add an RTL peephole to optimize operations on
2481	non-LD_REGS after a move from LD_REGS.
2482	(piaop): New code iterator.
2483
24842023-06-01  Jonathan Wakely  <jwakely@redhat.com>
2485
2486	Backported from master:
2487	2023-06-01  Jonathan Wakely  <jwakely@redhat.com>
2488
2489	PR target/109954
2490	* doc/invoke.texi (x86 Options): Fix description of -m32 option.
2491
24922023-05-30  Andreas Schwab  <schwab@suse.de>
2493
2494	PR target/110036
2495	* config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to
2496	match libsanitizer.
2497
24982023-05-25  Georg-Johann Lay  <avr@gjlay.de>
2499
2500	PR target/104327
2501	* config/avr/avr.cc (avr_can_inline_p): New static function.
2502	(TARGET_CAN_INLINE_P): Define to that function.
2503
25042023-05-25  Georg-Johann Lay  <avr@gjlay.de>
2505
2506	PR target/82931
2507	* config/avr/avr.md (*movbitqi.0): Rename to *movbit<mode>.0-6.
2508	Handle any bit position and use mode QISI.
2509	* config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost
2510	of 2 insns for bit-transfer of respective style.
2511
25122023-05-23  Georg-Johann Lay  <avr@gjlay.de>
2513
2514	* config/avr/avr.cc (avr_insn_cost): New static function.
2515	(TARGET_INSN_COST): Define to that function.
2516
25172023-05-22   Michael Meissner  <meissner@linux.ibm.com>
2518
2519	PR target/70243
2520	* config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp.
2521	(vsx_nfmsv4sf4): Do not generate vnmsubfp.  Back port from master
2522	04/10/2023 change.
2523
25242023-05-22  Jakub Jelinek  <jakub@redhat.com>
2525
2526	Backported from master:
2527	2023-05-21  Jakub Jelinek  <jakub@redhat.com>
2528
2529	PR tree-optimization/109505
2530	* match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2),
2531	Combine successive equal operations with constants,
2532	(A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A,
2533	CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P
2534	operands.
2535
25362023-05-22  Kewen Lin  <linkw@linux.ibm.com>
2537
2538	Backported from master:
2539	2023-05-17  Kewen Lin  <linkw@linux.ibm.com>
2540
2541	* tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with
2542	suggested unroll factor once the previous analysis fails.
2543
25442023-05-20  Triffid Hunter  <triffid.hunter@gmail.com>
2545
2546	PR target/105753
2547	Backport from 2023-05-20 https://gcc.gnu.org/r14-1016
2548	* config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi):
2549	Remove superfluous "parallel" in insn pattern.
2550	([u]divmod<mode>4): Tidy code.  Use gcc_unreachable() instead of
2551	printing error text to assembly.
2552
25532023-05-18  Alexandre Oliva  <oliva@adacore.com>
2554
2555	* config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank after tab
2556	after vmsr and vmrs, and lower the case of P0.
2557
25582023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2559
2560	* config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types.
2561	(__ARM_mve_coerce1): Remove.
2562	(__ARM_mve_coerce2): Remove.
2563	(__ARM_mve_coerce3): Remove.
2564	(__ARM_mve_coerce_i_scalar): New.
2565	(__ARM_mve_coerce_s8_ptr): New.
2566	(__ARM_mve_coerce_u8_ptr): New.
2567	(__ARM_mve_coerce_s16_ptr): New.
2568	(__ARM_mve_coerce_u16_ptr): New.
2569	(__ARM_mve_coerce_s32_ptr): New.
2570	(__ARM_mve_coerce_u32_ptr): New.
2571	(__ARM_mve_coerce_s64_ptr): New.
2572	(__ARM_mve_coerce_u64_ptr): New.
2573	(__ARM_mve_coerce_f_scalar): New.
2574	(__ARM_mve_coerce_f16_ptr): New.
2575	(__ARM_mve_coerce_f32_ptr): New.
2576	(__arm_vst4q): Change _coerce_ overloads.
2577	(__arm_vbicq): Change _coerce_ overloads.
2578	(__arm_vmulq): Change _coerce_ overloads.
2579	(__arm_vcmpeqq): Change _coerce_ overloads.
2580	(__arm_vcmpneq): Change _coerce_ overloads.
2581	(__arm_vmaxnmavq): Change _coerce_ overloads.
2582	(__arm_vmaxnmvq): Change _coerce_ overloads.
2583	(__arm_vminnmavq): Change _coerce_ overloads.
2584	(__arm_vsubq): Change _coerce_ overloads.
2585	(__arm_vminnmvq): Change _coerce_ overloads.
2586	(__arm_vrshlq): Change _coerce_ overloads.
2587	(__arm_vqsubq): Change _coerce_ overloads.
2588	(__arm_vqdmulltq): Change _coerce_ overloads.
2589	(__arm_vqdmullbq): Change _coerce_ overloads.
2590	(__arm_vqdmulhq): Change _coerce_ overloads.
2591	(__arm_vqaddq): Change _coerce_ overloads.
2592	(__arm_vhaddq): Change _coerce_ overloads.
2593	(__arm_vhsubq): Change _coerce_ overloads.
2594	(__arm_vqdmlashq): Change _coerce_ overloads.
2595	(__arm_vqrdmlahq): Change _coerce_ overloads.
2596	(__arm_vmlasq): Change _coerce_ overloads.
2597	(__arm_vqdmlahq): Change _coerce_ overloads.
2598	(__arm_vmaxnmavq_p): Change _coerce_ overloads.
2599	(__arm_vmaxnmvq_p): Change _coerce_ overloads.
2600	(__arm_vminnmavq_p): Change _coerce_ overloads.
2601	(__arm_vminnmvq_p): Change _coerce_ overloads.
2602	(__arm_vfmasq_m): Change _coerce_ overloads.
2603	(__arm_vld1q): Change _coerce_ overloads.
2604	(__arm_vld1q_z): Change _coerce_ overloads.
2605	(__arm_vld2q): Change _coerce_ overloads.
2606	(__arm_vld4q): Change _coerce_ overloads.
2607	(__arm_vldrhq_gather_offset): Change _coerce_ overloads.
2608	(__arm_vldrhq_gather_offset_z): Change _coerce_ overloads.
2609	(__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads.
2610	(__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads.
2611	(__arm_vldrwq_gather_offset): Change _coerce_ overloads.
2612	(__arm_vldrwq_gather_offset_z): Change _coerce_ overloads.
2613	(__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads.
2614	(__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads.
2615	(__arm_vst1q_p): Change _coerce_ overloads.
2616	(__arm_vst2q): Change _coerce_ overloads.
2617	(__arm_vst1q): Change _coerce_ overloads.
2618	(__arm_vstrhq): Change _coerce_ overloads.
2619	(__arm_vstrhq_p): Change _coerce_ overloads.
2620	(__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads.
2621	(__arm_vstrhq_scatter_offset): Change _coerce_ overloads.
2622	(__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads.
2623	(__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads.
2624	(__arm_vstrwq_p): Change _coerce_ overloads.
2625	(__arm_vstrwq): Change _coerce_ overloads.
2626	(__arm_vstrwq_scatter_offset): Change _coerce_ overloads.
2627	(__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads.
2628	(__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads.
2629	(__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads.
2630	(__arm_vsetq_lane): Change _coerce_ overloads.
2631	(__arm_vcmpneq_m): Change _coerce_ overloads.
2632	(__arm_vldrbq_gather_offset): Change _coerce_ overloads.
2633	(__arm_vdwdupq_x_u8): Change _coerce_ overloads.
2634	(__arm_vdwdupq_x_u16): Change _coerce_ overloads.
2635	(__arm_vdwdupq_x_u32): Change _coerce_ overloads.
2636	(__arm_viwdupq_x_u8): Change _coerce_ overloads.
2637	(__arm_viwdupq_x_u16): Change _coerce_ overloads.
2638	(__arm_viwdupq_x_u32): Change _coerce_ overloads.
2639	(__arm_vidupq_x_u8): Change _coerce_ overloads.
2640	(__arm_vddupq_x_u8): Change _coerce_ overloads.
2641	(__arm_vidupq_x_u16): Change _coerce_ overloads.
2642	(__arm_vddupq_x_u16): Change _coerce_ overloads.
2643	(__arm_vidupq_x_u32): Change _coerce_ overloads.
2644	(__arm_vddupq_x_u32): Change _coerce_ overloads.
2645	(__arm_vhaddq_x): Change _coerce_ overloads.
2646	(__arm_vhsubq_x): Change _coerce_ overloads.
2647	(__arm_vldrdq_gather_offset): Change _coerce_ overloads.
2648	(__arm_vldrdq_gather_offset_z): Change _coerce_ overloads.
2649	(__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads.
2650	(__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads.
2651	(__arm_vldrbq_gather_offset_z): Change _coerce_ overloads.
2652	(__arm_vqrdmlahq_m): Change _coerce_ overloads.
2653	(__arm_vqrdmlashq_m): Change _coerce_ overloads.
2654	(__arm_vqdmlashq_m): Change _coerce_ overloads.
2655	(__arm_vmlaldavaxq_p): Change _coerce_ overloads.
2656	(__arm_vmlasq_m): Change _coerce_ overloads.
2657	(__arm_vqdmulhq_m): Change _coerce_ overloads.
2658	(__arm_vqdmulltq_m): Change _coerce_ overloads.
2659	(__arm_vidupq_u16): Change _coerce_ overloads.
2660	(__arm_vidupq_u32): Change _coerce_ overloads.
2661	(__arm_vidupq_u8): Change _coerce_ overloads.
2662	(__arm_vddupq_u16): Change _coerce_ overloads.
2663	(__arm_vddupq_u32): Change _coerce_ overloads.
2664	(__arm_vddupq_u8): Change _coerce_ overloads.
2665	(__arm_viwdupq_m): Change _coerce_ overloads.
2666	(__arm_viwdupq_u16): Change _coerce_ overloads.
2667	(__arm_viwdupq_u32): Change _coerce_ overloads.
2668	(__arm_viwdupq_u8): Change _coerce_ overloads.
2669	(__arm_vdwdupq_m): Change _coerce_ overloads.
2670	(__arm_vdwdupq_u16): Change _coerce_ overloads.
2671	(__arm_vdwdupq_u32): Change _coerce_ overloads.
2672	(__arm_vdwdupq_u8): Change _coerce_ overloads.
2673	(__arm_vaddlvaq): Change _coerce_ overloads.
2674	(__arm_vaddlvaq_p): Change _coerce_ overloads.
2675	(__arm_vaddvaq): Change _coerce_ overloads.
2676	(__arm_vaddvaq_p): Change _coerce_ overloads.
2677	(__arm_vcmphiq_m): Change _coerce_ overloads.
2678	(__arm_vmladavaq_p): Change _coerce_ overloads.
2679	(__arm_vmladavaxq): Change _coerce_ overloads.
2680	(__arm_vmlaldavaxq): Change _coerce_ overloads.
2681	(__arm_vstrbq): Change _coerce_ overloads.
2682	(__arm_vstrbq_p): Change _coerce_ overloads.
2683	(__arm_vrmlaldavhaq_p): Change _coerce_ overloads.
2684	(__arm_vstrbq_scatter_offset): Change _coerce_ overloads.
2685	(__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads.
2686	(__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads.
2687	(__arm_vstrdq_scatter_offset): Change _coerce_ overloads.
2688	(__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads.
2689	(__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads.
2690
26912023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2692
2693	* config/arm/arm_mve.h (__arm_vbicq): Change coerce on
2694	scalar constant.
2695	(__arm_vmvnq_m): Likewise.
2696
26972023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2698
2699	* config/arm/arm_mve.h (__arm_vorrq): Add _n variant.
2700
27012023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2702
2703	Backported from master:
2704	2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2705
2706	* config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic.
2707	(__arm_vadcq_u32): Likewise.
2708	(__arm_vadcq_m_s32): Likewise.
2709	(__arm_vadcq_m_u32): Likewise.
2710	(__arm_vsbcq_s32): Likewise.
2711	(__arm_vsbcq_u32): Likewise.
2712	(__arm_vsbcq_m_s32): Likewise.
2713	(__arm_vsbcq_m_u32): Likewise.
2714	* config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile.
2715
27162023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2717
2718	* config/arm/mve.md (mve_vrndq_m_f<mode>, mve_vrev64q_f<mode>)
2719	(mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf)
2720	(mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_<supf><mode>)
2721	(mve_vrev64q_<supf><mode>, mve_vcvtq_from_f_<supf><mode>)
2722	(mve_vmovltq_<supf><mode>, mve_vmovlbq_<supf><mode>)
2723	(mve_vcvtpq_<supf><mode>, mve_vcvtnq_<supf><mode>)
2724	(mve_vcvtmq_<supf><mode>, mve_vcvtaq_<supf><mode>)
2725	(mve_vmvnq_n_<supf><mode>, mve_vrev16q_<supf>v16qi)
2726	(mve_vctp<mode1>qhi, mve_vbrsrq_n_f<mode>)
2727	(mve_vbrsrq_n_<supf><mode>, mve_vandq_f<mode>, mve_vbicq_f<mode>)
2728	(mve_vbicq_n_<supf><mode>, mve_vctp<mode1>q_mhi)
2729	(mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf)
2730	(mve_veorq_f<mode>, mve_vmlaldavxq_s<mode>, mve_vmlsldavq_s<mode>)
2731	(mve_vmlsldavxq_s<mode>, mve_vornq_f<mode>, mve_vorrq_f<mode>)
2732	(mve_vrmlaldavhxq_sv4si, mve_vbicq_m_n_<supf><mode>)
2733	(mve_vcvtq_m_to_f_<supf><mode>, mve_vshlcq_<supf><mode>)
2734	(mve_vmvnq_m_<supf><mode>, mve_vpselq_<supf><mode>)
2735	(mve_vcvtbq_m_f16_f32v8hf, mve_vcvtbq_m_f32_f16v4sf)
2736	(mve_vcvttq_m_f16_f32v8hf, mve_vcvttq_m_f32_f16v4sf)
2737	(mve_vmlaldavq_p_<supf><mode>, mve_vmlsldavaq_s<mode>)
2738	(mve_vmlsldavaxq_s<mode>, mve_vmlsldavq_p_s<mode>)
2739	(mve_vmlsldavxq_p_s<mode>, mve_vmvnq_m_n_<supf><mode>)
2740	(mve_vorrq_m_n_<supf><mode>, mve_vpselq_f<mode>)
2741	(mve_vrev32q_m_fv8hf, mve_vrev32q_m_<supf><mode>)
2742	(mve_vrev64q_m_f<mode>, mve_vrmlaldavhaxq_sv4si)
2743	(mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhaxq_sv4si)
2744	(mve_vrmlsldavhq_p_sv4si, mve_vrmlsldavhxq_p_sv4si)
2745	(mve_vrev16q_m_<supf>v16qi, mve_vrmlaldavhq_p_<supf>v4si)
2746	(mve_vrmlsldavhaq_sv4si, mve_vandq_m_<supf><mode>)
2747	(mve_vbicq_m_<supf><mode>, mve_veorq_m_<supf><mode>)
2748	(mve_vornq_m_<supf><mode>, mve_vorrq_m_<supf><mode>)
2749	(mve_vandq_m_f<mode>, mve_vbicq_m_f<mode>, mve_veorq_m_f<mode>)
2750	(mve_vornq_m_f<mode>, mve_vorrq_m_f<mode>)
2751	(mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn)
2752	(mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn)
2753	(mve_vstrdq_scatter_base_wb_p_<supf>v2di) : Fix spacing and
2754	capitalization in the emitted asm.
2755
27562023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2757
2758	* config/arm/constraints.md (mve_vldrd_immediate): Move it to
2759	predicates.md.
2760	(Ri): Move constraint definition from predicates.md.
2761	(Rl): Define new constraint.
2762	* config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Add
2763	missing constraint.
2764	(mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint
2765	for op 1, use mve_vstrw_immediate predicate and Rl constraint for
2766	op 2. Fix asm output spacing.
2767	(mve_vstrdq_scatter_base_wb_p_<supf>v2di): Add missing constraint.
2768	* config/arm/predicates.md (Ri) Move constraint to constraints.md
2769	(mve_vldrd_immediate): Move it from
2770	constraints.md.
2771	(mve_vstrw_immediate): New predicate.
2772
27732023-05-18  Murray Steele  <murray.steele@arm.com>
2774
2775	Backported from master:
2776	2023-01-18  Murray Steele  <murray.steele@arm.com>
2777
2778	PR target/108442
2779	* config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic
2780	function.
2781	(__arm_vst1q_p_s8): Likewise.
2782	(__arm_vld1q_z_u8): Likewise.
2783	(__arm_vld1q_z_s8): Likewise.
2784	(__arm_vst1q_p_u16): Likewise.
2785	(__arm_vst1q_p_s16): Likewise.
2786	(__arm_vld1q_z_u16): Likewise.
2787	(__arm_vld1q_z_s16): Likewise.
2788	(__arm_vst1q_p_u32): Likewise.
2789	(__arm_vst1q_p_s32): Likewise.
2790	(__arm_vld1q_z_u32): Likewise.
2791	(__arm_vld1q_z_s32): Likewise.
2792	(__arm_vld1q_z_f16): Likewise.
2793	(__arm_vst1q_p_f16): Likewise.
2794	(__arm_vld1q_z_f32): Likewise.
2795	(__arm_vst1q_p_f32): Likewise.
2796
27972023-05-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2798
2799	Backported from master:
2800	2023-01-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2801
2802	PR target/108177
2803	* config/arm/mve.md (mve_vstrbq_p_<supf><mode>, mve_vstrhq_p_fv8hf,
2804	mve_vstrhq_p_<supf><mode>, mve_vstrwq_p_<supf>v4si): Add memory operand
2805	as input operand.
2806
28072023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2808
2809	Backported from master:
2810	2023-04-04  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2811
2812	* config/arm/mve.md (mve_vcvtq_n_to_f_<supf><mode>): Swap operands.
2813	(mve_vcreateq_f<mode>): Swap operands.
2814
28152023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2816
2817	Backported from master:
2818	2023-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2819
2820	PR target/96795
2821	PR target/107515
2822	* config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
2823	(__ARM_mve_coerce3): Likewise.
2824
28252023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2826
2827	Backported from master:
2828	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2829
2830	* config/arm/mve.md (mve_vqnegq_s<mode>): Fix spacing.
2831
28322023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2833
2834	Backported from master:
2835	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2836
2837	* config/arm/mve.md (mve_vqabsq_s<mode>): Fix spacing.
2838
28392023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2840
2841	Backported from master:
2842	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2843
2844	* config/arm/mve.md (mve_vnegq_f<mode>, mve_vnegq_s<mode>):
2845	Fix spacing.
2846
28472023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2848
2849	Backported from master:
2850	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2851
2852	* config/arm/mve.md (@mve_vclzq_s<mode>): Fix spacing.
2853
28542023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2855
2856	Backported from master:
2857	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
2858
2859	* config/arm/mve.md (mve_vclsq_s<mode>): Fix spacing.
2860
28612023-05-18  Christophe Lyon  <christophe.lyon@arm.com>
2862
2863	Backported from master:
2864	2023-02-03  Christophe Lyon  <christophe.lyon@arm.com>
2865
2866	* config/arm/mve.md (mve_vabavq_p_<supf><mode>): Add length
2867	attribute.
2868	(mve_vqshluq_m_n_s<mode>): Likewise.
2869	(mve_vshlq_m_<supf><mode>): Likewise.
2870	(mve_vsriq_m_n_<supf><mode>): Likewise.
2871	(mve_vsubq_m_<supf><mode>): Likewise.
2872
28732023-05-18  Christophe Lyon  <christophe.lyon@arm.com>
2874
2875	Backported from master:
2876	2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>
2877
2878	* config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
2879	clobber.
2880	(mve_vrev64q_m_f<mode>): Likewise.
2881
28822023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2883
2884	Backported from master:
2885	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2886
2887	* config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
2888	mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
2889
28902023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2891
2892	Backported from master:
2893	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2894
2895	* config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
2896	(mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
2897	spacing vs tabs.
2898
28992023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2900
2901	Backported from master:
2902	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2903
2904	* config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
2905
29062023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
2907
2908	Backported from master:
2909	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2910
2911	* config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
2912	(mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
2913	(mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
2914	(mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
2915	Fix spacing.
2916
29172023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2918
2919	Backported from master:
2920	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2921
2922	* config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
2923	(__arm_vsubq_x Integer): New.
2924
29252023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2926
2927	Backported from master:
2928	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2929
2930	PR target/107515
2931	* config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
2932
29332023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2934
2935	Backported from master:
2936	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2937
2938	PR target/96795
2939	* config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
2940	(__arm_vmulq): Likewise.
2941	(__arm_vcmpeqq): Likewise.
2942	(__arm_vcmpneq): Likewise.
2943	(__arm_vmaxnmavq): Likewise.
2944	(__arm_vmaxnmvq): Likewise.
2945	(__arm_vminnmavq): Likewise.
2946	(__arm_vsubq): Likewise.
2947	(__arm_vminnmvq): Likewise.
2948	(__arm_vrshlq): Likewise.
2949	(__arm_vqsubq): Likewise.
2950	(__arm_vqdmulltq): Likewise.
2951	(__arm_vqdmullbq): Likewise.
2952	(__arm_vqdmulhq): Likewise.
2953	(__arm_vqaddq): Likewise.
2954	(__arm_vhaddq): Likewise.
2955	(__arm_vhsubq): Likewise.
2956	(__arm_vqdmlashq): Likewise.
2957	(__arm_vqrdmlahq): Likewise.
2958	(__arm_vmlasq): Likewise.
2959	(__arm_vqdmlahq): Likewise.
2960	(__arm_vmaxnmavq_p): Likewise.
2961	(__arm_vmaxnmvq_p): Likewise.
2962	(__arm_vminnmavq_p): Likewise.
2963	(__arm_vminnmvq_p): Likewise.
2964	(__arm_vfmasq_m): Likewise.
2965	(__arm_vsetq_lane): Likewise.
2966	(__arm_vcmpneq_m): Likewise.
2967	(__arm_vhaddq_x): Likewise.
2968	(__arm_vhsubq_x): Likewise.
2969	(__arm_vqrdmlashq_m): Likewise.
2970	(__arm_vqdmlashq_m): Likewise.
2971	(__arm_vmlaldavaxq_p): Likewise.
2972	(__arm_vmlasq_m): Likewise.
2973	(__arm_vqdmulhq_m): Likewise.
2974	(__arm_vqdmulltq_m): Likewise.
2975	(__arm_viwdupq_m): Likewise.
2976	(__arm_viwdupq_u16): Likewise.
2977	(__arm_viwdupq_u32): Likewise.
2978	(__arm_viwdupq_u8): Likewise.
2979	(__arm_vdwdupq_m): Likewise.
2980	(__arm_vdwdupq_u16): Likewise.
2981	(__arm_vdwdupq_u32): Likewise.
2982	(__arm_vdwdupq_u8): Likewise.
2983	(__arm_vaddlvaq): Likewise.
2984	(__arm_vaddlvaq_p): Likewise.
2985	(__arm_vaddvaq): Likewise.
2986	(__arm_vaddvaq_p): Likewise.
2987	(__arm_vcmphiq_m): Likewise.
2988	(__arm_vmladavaq_p): Likewise.
2989	(__arm_vmladavaxq): Likewise.
2990	(__arm_vmlaldavaxq): Likewise.
2991	(__arm_vrmlaldavhaq_p): Likewise.
2992
29932023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2994
2995	Backported from master:
2996	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2997
2998	PR target/96795
2999	* config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
3000	(__arm_vaddq_m_n_s32): Likewise.
3001	(__arm_vaddq_m_n_s16): Likewise.
3002	(__arm_vaddq_m_n_u8): Likewise.
3003	(__arm_vaddq_m_n_u32): Likewise.
3004	(__arm_vaddq_m_n_u16): Likewise.
3005	(__arm_vaddq_m): Fix Overloading.
3006	(__ARM_mve_coerce3): New.
3007
30082023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3009
3010	Backported from master:
3011	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3012
3013	* config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
3014
30152023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3016
3017	Backported from master:
3018	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3019
3020	* config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
3021	spacing.
3022	* config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
3023	(__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.
3024
30252023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3026
3027	Backported from master:
3028	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3029
3030	* config/arm/mve.md (mve_vdupq_n_f<mode>)
3031	(mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
3032	(mve_vdupq_m_n_f<mode>): Fix spacing.
3033
30342023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3035
3036	Backported from master:
3037	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3038
3039	* config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
3040
30412023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3042
3043	Backported from master:
3044	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3045
3046	* config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
3047	spacing.
3048	(mve_vddupq_m_wb_u<mode>_insn): Likewise.
3049
30502023-05-18  Andrea Corallo  <andrea.corallo@arm.com>
3051
3052	Backported from master:
3053	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
3054
3055	* config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
3056	'vmsr' spacing and reg capitalization.
3057
30582023-05-15  liuhongt  <hongtao.liu@intel.com>
3059
3060	* config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o
3061	whenever -mdaz-ftz is specified. Don't link crtfastmath.o
3062	when -mno-daz-ftz is specified.
3063	* config/i386/darwin.h (ENDFILE_SPEC): Ditto.
3064	* config/i386/gnu-user-common.h
3065	(GNU_USER_TARGET_MATHFILE_SPEC): Ditto.
3066	* config/i386/mingw32.h (ENDFILE_SPEC): Ditto.
3067	* config/i386/i386.opt (mdaz-ftz): New option.
3068	* doc/invoke.texi (x86 options): Document mftz-daz.
3069
30702023-05-09  Jakub Jelinek  <jakub@redhat.com>
3071
3072	Backported from master:
3073	2023-05-09  Jakub Jelinek  <jakub@redhat.com>
3074
3075	PR tree-optimization/109778
3076	* wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on
3077	wi::zext (x, width) rather than x if width != precision, rather
3078	than using wi::zext (right, width) after the shift.
3079	* tree-ssa-ccp.cc (bit_value_binop): Call wi::ext on the results
3080	of wi::lrotate or wi::rrotate.
3081
30822023-05-09  Kewen Lin  <linkw@linux.ibm.com>
3083
3084	Backported from master:
3085	2023-04-26  Kewen Lin  <linkw@linux.ibm.com>
3086
3087	PR target/108758
3088	* config/rs6000/rs6000-builtins.def
3089	(__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt
3090	__builtin_vsx_scalar_cmp_exp_qp_lt,
3091	__builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw
3092	to power9-vector.
3093
30942023-05-09  Kewen Lin  <linkw@linux.ibm.com>
3095
3096	Backported from master:
3097	2023-04-26  Kewen Lin  <linkw@linux.ibm.com>
3098
3099	PR target/109069
3100	* config/rs6000/altivec.md (sldoi_to_mov<mode>): Replace predicate
3101	easy_vector_constant with const_vector_each_byte_same, add
3102	handlings in preparation for !easy_vector_constant, and update
3103	VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P.
3104	* config/rs6000/predicates.md (const_vector_each_byte_same): New
3105	predicate.
3106
31072023-05-08  Release Manager
3108
3109	* GCC 12.3.0 released.
3110
31112023-04-27  Jakub Jelinek  <jakub@redhat.com>
3112
3113	Backported from master:
3114	2023-04-08  Jakub Jelinek  <jakub@redhat.com>
3115
3116	PR tree-optimization/109392
3117	* tree-vect-generic.cc (tree_vec_extract): Handle failure
3118	of maybe_push_res_to_seq better.
3119
31202023-04-27  Richard Biener  <rguenther@suse.de>
3121
3122	Backported from master:
3123	2023-02-16  Richard Biener  <rguenther@suse.de>
3124
3125	PR tree-optimization/108791
3126	* tree-ssa-forwprop.cc (optimize_vector_load): Build
3127	the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
3128	type.
3129
31302023-04-27  Roger Sayle  <roger@nextmovesoftware.com>
3131
3132	Backported from master:
3133	2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>
3134
3135	PR rtl-optimization/106421
3136	* cprop.cc (bypass_block): Check that DEST is local to this
3137	function (non-NULL) before calling find_edge.
3138
31392023-04-27  H.J. Lu  <hjl.tools@gmail.com>
3140
3141	Backported from master:
3142	2023-01-16  H.J. Lu  <hjl.tools@gmail.com>
3143
3144	PR target/105980
3145	* config/i386/i386.cc (x86_output_mi_thunk): Disable
3146	-mforce-indirect-call for PIC in 32-bit mode.
3147
31482023-04-27  Jan Hubicka  <jh@suse.cz>
3149
3150	Backported from master:
3151	2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
3152
3153	PR middle-end/106057
3154	* ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
3155	function.
3156	(possible_polymorphic_call_targets): Use it.
3157
31582023-04-26  Martin Jambor  <mjambor@suse.cz>
3159
3160	Backported from master:
3161	2023-04-17  Martin Jambor  <mjambor@suse.cz>
3162
3163	PR ipa/107769
3164	PR ipa/109318
3165	* cgraph.h (symtab_node::find_reference): Add parameter use_type.
3166	* ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented.
3167	(ipa_zap_jf_refdesc): New function.
3168	(ipa_get_jf_pass_through_refdesc_decremented): Likewise.
3169	(ipa_set_jf_pass_through_refdesc_decremented): Likewise.
3170	* ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for
3171	the new parameter of find_reference.
3172	(adjust_references_in_caller): Likewise. Make sure the constant jump
3173	function is not used to decrement a refdec counter again.  Only
3174	decrement refdesc counters when the pass_through jump function allows
3175	it.  Added a detailed dump when decrementing refdesc counters.
3176	* ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag.
3177	(ipa_set_jf_simple_pass_through): Initialize the new flag.
3178	(ipa_set_jf_unary_pass_through): Likewise.
3179	(ipa_set_jf_arith_pass_through): Likewise.
3180	(remove_described_reference): Provide a value for the new parameter of
3181	find_reference.
3182	(update_jump_functions_after_inlining): Zap refdesc of new jfunc if
3183	the previous pass_through had a flag mandating that we do so.
3184	(propagate_controlled_uses): Likewise.  Only decrement refdesc
3185	counters when the pass_through jump function allows it.
3186	(ipa_edge_args_sum_t::duplicate): Provide a value for the new
3187	parameter of find_reference.
3188	(ipa_write_jump_function): Assert the new flag does not have to be
3189	streamed.
3190	* symtab.cc (symtab_node::find_reference): Add parameter use_type, use
3191	it in searching.
3192
31932023-04-26  Jakub Jelinek  <jakub@redhat.com>
3194
3195	Backported from master:
3196	2023-04-25  Jakub Jelinek  <jakub@redhat.com>
3197
3198	PR target/109566
3199	* config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For
3200	!TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb)
3201	is larger than signed int maximum.
3202
32032023-04-26  Richard Biener  <rguenther@suse.de>
3204
3205	Backported from master:
3206	2023-04-25  Richard Biener  <rguenther@suse.de>
3207
3208	PR tree-optimization/109609
3209	* attr-fnspec.h (arg_max_access_size_given_by_arg_p):
3210	Clarify semantics.
3211	* tree-ssa-alias.cc (check_fnspec): Correctly interpret
3212	the size given by arg_max_access_size_given_by_arg_p as
3213	maximum, not exact, size.
3214
32152023-04-26  Richard Biener  <rguenther@suse.de>
3216
3217	Backported from master:
3218	2023-04-25  Richard Biener  <rguenther@suse.de>
3219
3220	PR rtl-optimization/109585
3221	* tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo.
3222
32232023-04-26  Richard Biener  <rguenther@suse.de>
3224
3225	Backported from master:
3226	2023-04-21  Richard Biener  <rguenther@suse.de>
3227
3228	PR tree-optimization/109573
3229	* tree-vect-loop.cc (vectorizable_live_operation): Allow
3230	unhandled SSA copy as well.  Demote assert to checking only.
3231
32322023-04-21  John David Anglin  <danglin@gcc.gnu.org>
3233
3234	PR target/109478
3235	* config/pa/pa-protos.h (pa_function_arg_size): Update prototype.
3236	* config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument
3237	size is zero.
3238	(pa_arg_partial_bytes): Don't call pa_function_arg_size twice.
3239	(pa_function_arg_size): Change return type to int.  Return zero
3240	for arguments larger than 1 GB.  Update comments.
3241
32422023-04-21  Haochen Gui  <guihaoc@gcc.gnu.org>
3243
3244	Backported from master:
3245	2023-04-11  Haochen Gui  <guihaoc@gcc.gnu.org>
3246
3247	PR target/108812
3248	* config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to...
3249	(vsx_sign_extend_v16qi_<mode>): ... this.
3250	(vsx_sign_extend_hi_<mode>): Rename to...
3251	(vsx_sign_extend_v8hi_<mode>): ... this.
3252	(vsx_sign_extend_si_v2di): Rename to...
3253	(vsx_sign_extend_v4si_v2di): ... this.
3254	(vsignextend_qi_<mode>): Remove.
3255	(vsignextend_hi_<mode>): Remove.
3256	(vsignextend_si_v2di): Remove.
3257	(vsignextend_v2di_v1ti): Remove.
3258	(*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with
3259	gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si
3260	with gen_vsx_sign_extend_v16qi_v4si.
3261	* config/rs6000/rs6000.md (split for DI constant generation):
3262	Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si.
3263	(split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di
3264	with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si
3265	with gen_vsx_sign_extend_v16qi_si.
3266	* config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d):
3267	Set bif-pattern to vsx_sign_extend_v16qi_v2di.
3268	(__builtin_altivec_vsignextsb2w): Set bif-pattern to
3269	vsx_sign_extend_v16qi_v4si.
3270	(__builtin_altivec_visgnextsh2d): Set bif-pattern to
3271	vsx_sign_extend_v8hi_v2di.
3272	(__builtin_altivec_vsignextsh2w): Set bif-pattern to
3273	vsx_sign_extend_v8hi_v4si.
3274	(__builtin_altivec_vsignextsw2d): Set bif-pattern to
3275	vsx_sign_extend_si_v2di.
3276	(__builtin_altivec_vsignext): Set bif-pattern to
3277	vsx_sign_extend_v2di_v1ti.
3278	* config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace
3279	gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di,
3280	gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and
3281	gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di.
3282
32832023-04-18  Jakub Jelinek  <jakub@redhat.com>
3284
3285	Backported from master:
3286	2023-04-12  Jakub Jelinek  <jakub@redhat.com>
3287
3288	PR tree-optimization/109410
3289	* tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry
3290	block if first statement of the function is a call to returns_twice
3291	function.
3292
32932023-04-18  Jakub Jelinek  <jakub@redhat.com>
3294
3295	Backported from master:
3296	2023-03-28  Jakub Jelinek  <jakub@redhat.com>
3297
3298	PR middle-end/106190
3299	* sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any
3300	of the IFN_{UB,HWA,A}SAN_* internal fns are lowered.
3301
33022023-04-18  Jakub Jelinek  <jakub@redhat.com>
3303
3304	Backported from master:
3305	2023-03-28  Jakub Jelinek  <jakub@redhat.com>
3306
3307	PR target/109276
3308	* config/i386/i386.cc (assign_386_stack_local): For DImode
3309	with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass
3310	align 32 rather than 0 to assign_stack_local.
3311
33122023-04-18  Jakub Jelinek  <jakub@redhat.com>
3313
3314	Backported from master:
3315	2023-03-26  Jakub Jelinek  <jakub@redhat.com>
3316
3317	PR ipa/105685
3318	* predict.cc (compute_function_frequency): Don't call
3319	warn_function_cold if function already has cold attribute.
3320
33212023-04-18  Jakub Jelinek  <jakub@redhat.com>
3322
3323	Backported from master:
3324	2023-03-23  Jakub Jelinek  <jakub@redhat.com>
3325
3326	PR tree-optimization/109176
3327	* tree-vect-generic.cc (expand_vector_condition): If a has
3328	vector boolean type and is a comparison, also check if both
3329	the comparison and VEC_COND_EXPR could be successfully expanded
3330	individually.
3331
33322023-04-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3333
3334	Backported from master:
3335	2023-01-31  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3336
3337	PR target/108589
3338	* config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
3339	REG_P on SET_DEST.
3340
33412023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3342
3343	Backported from master:
3344	2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3345		    Di Zhao  <di.zhao@amperecomputing.com>
3346
3347	* config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
3348	Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
3349	* config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp):
3350	Check for the above tuning option when processing loads.
3351
33522023-04-17  Richard Sandiford  <richard.sandiford@arm.com>
3353
3354	Backported from master:
3355	2023-04-13  Richard Sandiford  <richard.sandiford@arm.com>
3356
3357	PR target/108910
3358	* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do
3359	not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead.
3360
33612023-04-17  Richard Biener  <rguenther@suse.de>
3362
3363	PR tree-optimization/109434
3364	* tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly
3365	handle possibly throwing calls when processing the LHS
3366	and may-defs are not OK.  Add mode to initialize a may-def.
3367	(dse_optimize_stmt): Query may-defs.
3368
33692023-04-17  Richard Biener  <rguenther@suse.de>
3370
3371	Backported from master:
3372	2023-04-14  Richard Biener  <rguenther@suse.de>
3373
3374	PR tree-optimization/109502
3375	* tree-vect-stmts.cc (vectorizable_assignment): Fix
3376	check for conversion between mask and non-mask types.
3377
33782023-04-17  Richard Biener  <rguenther@suse.de>
3379
3380	Backported from master:
3381	2023-04-13  Richard Biener  <rguenther@suse.de>
3382
3383	PR tree-optimization/109491
3384	* tree-ssa-sccvn.cc (expressions_equal_p): Restore the
3385	NULL operands test.
3386
33872023-04-17  Richard Biener  <rguenther@suse.de>
3388
3389	Backported from master:
3390	2023-04-12  Richard Biener  <rguenther@suse.de>
3391
3392	PR tree-optimization/109473
3393	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
3394	Convert scalar result to the computation type before performing
3395	the reduction adjustment.
3396
33972023-04-17  Richard Biener  <rguenther@suse.de>
3398
3399	Backported from master:
3400	2023-04-12  Richard Biener  <rguenther@suse.de>
3401
3402	PR tree-optimization/109469
3403	* tree-vect-slp.cc (vect_slp_function): Skip region starts with
3404	a returns-twice call.
3405
34062023-04-17  Richard Biener  <rguenther@suse.de>
3407
3408	Backported from master:
3409	2023-03-27  Richard Biener  <rguenther@suse.de>
3410
3411	PR lto/109263
3412	* lto-wrapper.cc (run_gcc): Parse alternate debug options
3413	as well, they always enable debug.
3414
34152023-04-17  Richard Biener  <rguenther@suse.de>
3416
3417	Backported from master:
3418	2023-03-21  Richard Biener  <rguenther@suse.de>
3419
3420	PR tree-optimization/109219
3421	* tree-vect-loop.cc (vectorizable_reduction): Check
3422	slp_node, not STMT_SLP_TYPE.
3423	* tree-vect-stmts.cc (vectorizable_condition): Likewise.
3424	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
3425	Remove assertion on STMT_SLP_TYPE.
3426
34272023-04-17  Richard Biener  <rguenther@suse.de>
3428
3429	Backported from master:
3430	2023-03-29  Richard Biener  <rguenther@suse.de>
3431
3432	PR ipa/106124
3433	* dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN
3434	so we can re-create the DIE for the type if required.
3435
34362023-04-17  Richard Biener  <rguenther@suse.de>
3437
3438	Backported from master:
3439	2022-12-07  Richard Biener  <rguenther@suse.de>
3440
3441	PR ipa/105676
3442	* ipa-pure-const.cc (ipa_make_function_pure): Skip also
3443	for functions already being const.
3444
34452023-04-17  Kewen Lin  <linkw@linux.ibm.com>
3446
3447	Backported from master:
3448	2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
3449
3450	PR target/108699
3451	* config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
3452	(rs6000_vprtyb<mode>2): ... this.
3453	* config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with
3454	rs6000_vprtybv2di2.
3455	(VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
3456	(VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
3457	* config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
3458	popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.
3459
34602023-04-17  Kewen Lin  <linkw@linux.ibm.com>
3461
3462	Backported from master:
3463	2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
3464
3465	PR target/108807
3466	* config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen
3467	function for permutation control vector by considering big endianness.
3468
34692023-04-14  Jan Hubicka  <hubicka@ucw.cz>
3470
3471	PR target/109137
3472	* config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES):
3473	Remove znver1-3.
3474	(X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3.
3475
34762023-04-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3477
3478	Backported from master:
3479	2023-03-27  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3480		    Jiangning Liu  <jiangning.liu@amperecomputing.com>
3481		    Manolis Tsamis  <manolis.tsamis@vrull.eu>
3482
3483	* config/aarch64/aarch64.cc: Update vector costs for ampere1.
3484
34852023-04-11  Michael Meissner  <meissner@linux.ibm.com>
3486
3487	PR target/109067
3488	* config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
3489	(init_float128_ieee): Delete code to switch complex multiply and divide
3490	for long double.  Backport from master, 3/20/2023.
3491	(complex_multiply_builtin_code): New helper function.
3492	(complex_divide_builtin_code): Likewise.
3493	(rs6000_mangle_decl_assembler_name): Add support for mangling the name
3494	of complex 128-bit multiply and divide built-in functions.
3495
34962023-04-06  Andrew Pinski  <apinski@marvell.com>
3497
3498	Backported from master:
3499	2023-04-06  Andrew Pinski  <apinski@marvell.com>
3500
3501	PR tree-optimization/109427
3502	* params.opt (-param=vect-induction-float=):
3503	Fix option attribute typo for IntegerRange.
3504
35052023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3506
3507	PR tree-optimization/96373
3508	PR tree-optimization/108979
3509	* tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
3510	operations on the loop mask.  Reject partial vectors if this isn't
3511	possible.  Don't mask operations on invariants.
3512
35132023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3514
3515	Backported from master:
3516	2023-03-28  Richard Sandiford  <richard.sandiford@arm.com>
3517
3518	PR target/109072
3519	* config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare.
3520	* config/aarch64/aarch64.h (machine_function::vector_load_decls): New
3521	variable.
3522	* config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg):
3523	New function.
3524	(aarch64_general_gimple_fold_builtin): Delay folding of vld1 until
3525	after inlining.  Record which decls are loaded from.  Fix handling
3526	of vops for loads and stores.
3527	* config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function.
3528	(aarch64_accesses_vector_load_decl_p): Likewise.
3529	(aarch64_vector_costs::m_stores_to_vector_load_decl): New member
3530	variable.
3531	(aarch64_vector_costs::add_stmt_cost): If the function has a vld1
3532	that loads from a decl, treat vector stores to those decls as
3533	zero cost.
3534	(aarch64_vector_costs::finish_cost): ...and in that case,
3535	if the vector code does nothing more than a store, give the
3536	prologue a zero cost as well.
3537
35382023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3539
3540	Backported from master:
3541	2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>
3542
3543	PR rtl-optimization/108681
3544	* lra-spills.cc (lra_final_code_change): Extend subreg replacement
3545	code to handle bare uses and clobbers.
3546
35472023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3548
3549	Backported from master:
3550	2023-01-31  Richard Sandiford  <richard.sandiford@arm.com>
3551
3552	PR tree-optimization/108608
3553	* tree-vect-loop.cc (vect_transform_reduction): Handle single
3554	def-use cycles that involve function calls rather than tree codes.
3555
35562023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3557
3558	Backported from master:
3559	2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
3560
3561	PR tree-optimization/108603
3562	* explow.cc (convert_memory_address_addr_space_1): Only wrap
3563	the result of a recursive call in a CONST if no instructions
3564	were emitted.
3565
35662023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3567
3568	Backported from master:
3569	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
3570
3571	PR rtl-optimization/108508
3572	* rtl-ssa/accesses.cc (function_info::split_clobber_group): When
3573	the splay tree search gives the first clobber in the second group,
3574	make sure that the root of the first clobber group is updated
3575	correctly.  Enter the new clobber group into the definition splay
3576	tree.
3577
35782023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3579
3580	Backported from master:
3581	2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
3582
3583	PR tree-optimization/108430
3584	* tree-vect-stmts.cc (vectorizable_condition): Fix handling
3585	of inverted condition.
3586
35872023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
3588
3589	Backported from master:
3590	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
3591
3592	PR rtl-optimization/108086
3593	* rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
3594	Adjust size-related commentary accordingly.
3595
35962023-03-31  Vladimir N. Makarov  <vmakarov@redhat.com>
3597
3598	* ira-costs.cc: Include print-rtl.h.
3599	(record_reg_classes, scan_one_insn): Add code to print debug info.
3600	(record_operand_costs): Find and use smaller cost for hard reg
3601	move.
3602
36032023-03-29  David Malcolm  <dmalcolm@redhat.com>
3604
3605	* doc/invoke.texi (Static Analyzer Options): Add notes about
3606	limitations of -fanalyzer.
3607
36082023-03-29  David Malcolm  <dmalcolm@redhat.com>
3609
3610	* doc/analyzer.texi: Drop out-of-date ideas for other checkers.
3611
36122023-03-28  Eric Botcazou  <ebotcazou@adacore.com>
3613
3614	PR target/109140
3615	* config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition
3616	on operand #3 to get the final condition code.  Use std::swap.
3617	* config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander.
3618	(fucmp<gcond:code>8<P:mode>_vis): Move around.
3619	(fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise.
3620	(vcondu<GCM:mode><GCM:mode>): New VIS 4 expander.
3621
36222023-03-22  Martin Jambor  <mjambor@suse.cz>
3623
3624	Backported from master:
3625	2023-03-14  Martin Jambor  <mjambor@suse.cz>
3626
3627	PR ipa/107925
3628	* ipa-cp.cc (update_specialized_profile): Drop orig_node_count to
3629	ipa count, remove assert, lenient_count_portion_handling, dump
3630	also orig_node_count.
3631
36322023-03-20  Peter Bergner  <bergner@linux.ibm.com>
3633
3634	Backported from master:
3635	2023-03-20  Peter Bergner  <bergner@linux.ibm.com>
3636
3637	PR target/109178
3638	* config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode.
3639
36402023-03-19  Jakub Jelinek  <jakub@redhat.com>
3641
3642	Backported from master:
3643	2023-03-17  Jakub Jelinek  <jakub@redhat.com>
3644
3645	PR target/105554
3646	* function.h (push_struct_function): Add ABSTRACT_P argument defaulted
3647	to false.
3648	* function.cc (push_struct_function): Add ABSTRACT_P argument, pass it
3649	to allocate_struct_function instead of false.
3650	* tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS
3651	nor DECL_RESULT here.  Pass true as ABSTRACT_P to
3652	push_struct_function.  Call targetm.target_option.relayout_function
3653	after it.
3654	(tree_function_versioning): Formatting fix.
3655
36562023-03-19  Jakub Jelinek  <jakub@redhat.com>
3657
3658	Backported from master:
3659	2023-03-17  Jakub Jelinek  <jakub@redhat.com>
3660
3661	PR middle-end/108685
3662	* omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument,
3663	use its loop_father rather than BODY_BB's loop_father.
3664	(expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller.
3665	If broken_loop with ordered > collapse and at least one of those
3666	extra loops aren't guaranteed to have at least one iteration, change
3667	l0_bb's loop_father to entry_bb's loop_father.  Set cont_bb's
3668	loop_father to l0_bb's loop_father rather than l1_bb's.
3669
36702023-03-19  Jakub Jelinek  <jakub@redhat.com>
3671
3672	Backported from master:
3673	2023-03-10  Jakub Jelinek  <jakub@redhat.com>
3674
3675	PR c/108079
3676	* cgraphunit.cc (check_global_declaration): Don't warn for unused
3677	variables which have OPT_Wunused_variable warning suppressed.
3678
36792023-03-19  Jakub Jelinek  <jakub@redhat.com>
3680
3681	Backported from master:
3682	2023-03-04  Jakub Jelinek  <jakub@redhat.com>
3683
3684	PR testsuite/108973
3685	* selftest-diagnostic.cc
3686	(test_diagnostic_context::test_diagnostic_context): Set
3687	caret_max_width to 80.
3688
36892023-03-19  Jakub Jelinek  <jakub@redhat.com>
3690
3691	Backported from master:
3692	2023-03-03  Jakub Jelinek  <jakub@redhat.com>
3693
3694	PR c/108986
3695	* gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
3696	Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is
3697	suppressed on stmt.  For [static %E] warning, print access_nelts
3698	rather than access_size.  Fix up comment wording.
3699
37002023-03-19  Jakub Jelinek  <jakub@redhat.com>
3701
3702	Backported from master:
3703	2023-03-02  Jakub Jelinek  <jakub@redhat.com>
3704
3705	PR c++/108934
3706	* fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
3707	comparison copy the bytes from ptr to a temporary buffer and clearing
3708	padding bits in there.
3709
37102023-03-19  Jakub Jelinek  <jakub@redhat.com>
3711
3712	Backported from master:
3713	2023-03-01  Jakub Jelinek  <jakub@redhat.com>
3714
3715	PR debug/108967
3716	* cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
3717	and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.
3718
37192023-03-19  Jakub Jelinek  <jakub@redhat.com>
3720
3721	Backported from master:
3722	2023-02-24  Jakub Jelinek  <jakub@redhat.com>
3723
3724	PR middle-end/108854
3725	* cgraphclones.cc (duplicate_thunk_for_node): If no parameter
3726	changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
3727	nodes and adjust their DECL_CONTEXT.
3728
37292023-03-19  Jakub Jelinek  <jakub@redhat.com>
3730
3731	Backported from master:
3732	2023-02-24  Jakub Jelinek  <jakub@redhat.com>
3733
3734	PR target/108881
3735	* config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi,
3736	__builtin_ia32_cvtne2ps2bf16_v16hi_mask,
3737	__builtin_ia32_cvtne2ps2bf16_v16hi_maskz,
3738	__builtin_ia32_cvtne2ps2bf16_v8hi,
3739	__builtin_ia32_cvtne2ps2bf16_v8hi_mask,
3740	__builtin_ia32_cvtne2ps2bf16_v8hi_maskz,
3741	__builtin_ia32_cvtneps2bf16_v8sf_mask,
3742	__builtin_ia32_cvtneps2bf16_v8sf_maskz,
3743	__builtin_ia32_cvtneps2bf16_v4sf_mask,
3744	__builtin_ia32_cvtneps2bf16_v4sf_maskz,
3745	__builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
3746	__builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
3747	__builtin_ia32_dpbf16ps_v4sf_mask,
3748	__builtin_ia32_dpbf16ps_v4sf_maskz): Require also
3749	OPTION_MASK_ISA_AVX512VL.
3750
37512023-03-19  Jakub Jelinek  <jakub@redhat.com>
3752
3753	Backported from master:
3754	2023-02-18  Jakub Jelinek  <jakub@redhat.com>
3755
3756	PR tree-optimization/108819
3757	* tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.
3758
37592023-03-19  Jakub Jelinek  <jakub@redhat.com>
3760
3761	Backported from master:
3762	2023-02-09  Jakub Jelinek  <jakub@redhat.com>
3763
3764	PR target/100758
3765	* common/config/i386/cpuinfo.h (cpu_indicator_init): Call
3766	get_available_features for all CPUs with max_level >= 1, rather
3767	than just Intel or AMD.
3768
37692023-03-15  Richard Biener  <rguenther@suse.de>
3770
3771	Backported from master:
3772	2023-03-01  Richard Biener  <rguenther@suse.de>
3773
3774	PR tree-optimization/108950
3775	* tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
3776	Check oprnd0 is defined in the loop.
3777	* tree-vect-loop.cc (vectorizable_reduction): Record all
3778	operands vector types, compute that of invariants and
3779	properly update their SLP nodes.
3780
37812023-03-15  Richard Biener  <rguenther@suse.de>
3782
3783	Backported from master:
3784	2023-02-17  Richard Biener  <rguenther@suse.de>
3785
3786	PR tree-optimization/108821
3787	* tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
3788	move volatile accesses.
3789
37902023-03-15  Richard Biener  <rguenther@suse.de>
3791
3792	Backported from master:
3793	2023-02-20  Richard Biener  <rguenther@suse.de>
3794
3795	PR tree-optimization/108816
3796	* tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
3797	versioning condition split prerequesite, assert required
3798	invariant.
3799
38002023-03-15  Richard Biener  <rguenther@suse.de>
3801
3802	Backported from master:
3803	2023-02-21  Richard Biener  <rguenther@suse.de>
3804
3805	PR tree-optimization/108793
3806	* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
3807	Use convert operands to niter_type when computing num.
3808
38092023-03-15  Richard Biener  <rguenther@suse.de>
3810
3811	Backported from master:
3812	2023-02-10  Richard Biener  <rguenther@suse.de>
3813
3814	PR tree-optimization/108724
3815	* tree-vect-stmts.cc (vectorizable_operation): Avoid
3816	using word_mode vectors when vector lowering will
3817	decompose them to elementwise operations.
3818
38192023-03-15  Richard Biener  <rguenther@suse.de>
3820
3821	Backported from master:
3822	2023-02-02  Richard Biener  <rguenther@suse.de>
3823
3824	PR middle-end/108625
3825	* genmatch.cc (expr::gen_transform): Also disallow resimplification
3826	from pushing to lseq with force_leaf.
3827	(dt_simplify::gen_1): Likewise.
3828
38292023-03-15  Richard Biener  <rguenther@suse.de>
3830
3831	Backported from master:
3832	2023-02-01  Richard Biener  <rguenther@suse.de>
3833
3834	PR middle-end/108500
3835	* dominance.cc (assign_dfs_numbers): Replace recursive DFS
3836	with tree traversal algorithm.
3837
38382023-03-15  Richard Biener  <rguenther@suse.de>
3839
3840	Backported from master:
3841	2022-12-22  Richard Biener  <rguenther@suse.de>
3842
3843	PR tree-optimization/107451
3844	* tree-vect-stmts.cc (vectorizable_load): Avoid loading
3845	SLP group members from group numbers in excess of the
3846	vectorization factor.
3847
38482023-03-15  Richard Biener  <rguenther@suse.de>
3849
3850	Backported from master:
3851	2022-12-11  Richard Biener  <rguenther@suse.de>
3852
3853	PR tree-optimization/106904
3854	* tree.h (strip_zero_offset_components): Declare.
3855	* tree.cc (strip_zero_offset_components): Define.
3856	* tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
3857	Strip zero offset components before building the address.
3858
38592023-03-14  Jan Hubicka  <jh@suse.cz>
3860
3861	Backported from master:
3862	2023-03-06  Jan Hubicka  <hubicka@ucw.cz>
3863
3864	PR target/108429
3865	* config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for
3866	generic.
3867	(X86_TUNE_USE_SCATTER_4PARTS): Likewise.
3868	(X86_TUNE_USE_SCATTER): Likewise.
3869
38702023-03-14  Jan Hubicka  <jh@suse.cz>
3871
3872	Backported from master:
3873	2023-02-07  Jan Hubicka  <jh@suse.cz>
3874
3875	* config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
3876	for znver4.
3877
38782023-03-11  Andrew Pinski  <apinski@marvell.com>
3879
3880	Backported from master:
3881	2022-12-21  Andrew Pinski  <apinski@marvell.com>
3882
3883	PR tree-optimization/105532
3884	* match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
3885	type before calling tree_nonzero_bits.
3886	(popcount(X) + popcount(Y)): Likewise.
3887	(popcount(X&C1)): Likewise.
3888
38892023-03-10  Andrew Pinski  <apinski@marvell.com>
3890
3891	Backported from master:
3892	2023-02-10  Andrew Pinski  <apinski@marvell.com>
3893		    Andrew Macleod   <amacleod@redhat.com>
3894
3895	PR tree-optimization/108684
3896	* tree-ssa-dce.cc (simple_dce_from_worklist):
3897	Check all ssa names and not just non-vdef ones
3898	before accepting the inline-asm.
3899	Call unlink_stmt_vdef on the statement before
3900	removing it.
3901
39022023-03-08  Tobias Burnus  <tobias@codesourcery.com>
3903
3904	Backported from master:
3905	2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
3906
3907	PR middle-end/108546
3908	* omp-low.cc (lower_omp_target): Remove optional handling
3909	on the receiver side, i.e. inside target (data), for
3910	use_device_ptr.
3911
39122023-03-06  Xi Ruoyao  <xry111@xry111.site>
3913
3914	Backported from master:
3915	2023-03-06  Xi Ruoyao  <xry111@xry111.site>
3916
3917	PR target/109000
3918	* config/loongarch/loongarch.h (FP_RETURN): Use
3919	TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT.
3920	(UNITS_PER_FP_ARG): Likewise.
3921
39222023-02-27  Martin Liska  <mliska@suse.cz>
3923
3924	Backported from master:
3925	2023-02-24  Martin Liska  <mliska@suse.cz>
3926
3927	PR sanitizer/108834
3928	* asan.cc (asan_add_global): Use proper TU name for normal
3929	global variables (and aux_base_name for the artificial one).
3930
39312023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3932
3933	Backported from master:
3934	2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3935
3936	* config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
3937	Add non-compact 32-bit multilibs.
3938
39392023-02-20  Alex Coplan  <alex.coplan@arm.com>
3940
3941	Backported from master:
3942	2023-02-06  Alex Coplan  <alex.coplan@arm.com>
3943
3944	PR target/104921
3945	* config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
3946	Use correct constraint for operand 3.
3947
39482023-02-18  Xi Ruoyao  <xry111@xry111.site>
3949
3950	Backported from master:
3951	2023-02-18  Xi Ruoyao  <xry111@xry111.site>
3952
3953	* config.gcc (triplet_abi): Set its value based on $with_abi,
3954	instead of $target.
3955	(la_canonical_triplet): Set it after $triplet_abi is set
3956	correctly.
3957	* config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
3958	multiarch tuple for lp64d "loongarch64-linux-gnu" (without
3959	"f64" suffix).
3960
39612023-02-15  Eric Botcazou  <ebotcazou@adacore.com>
3962
3963	PR target/90458
3964	* config/i386/i386.cc (ix86_compute_frame_layout): Disable the
3965	effects of -fstack-clash-protection for TARGET_STACK_PROBE.
3966	(ix86_expand_prologue): Likewise.
3967
39682023-02-15  Marek Polacek  <polacek@redhat.com>
3969
3970	Backported from master:
3971	2023-02-15  Marek Polacek  <polacek@redhat.com>
3972
3973	PR middle-end/106080
3974	* gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
3975	instead.
3976
39772023-02-14  Eric Botcazou  <ebotcazou@adacore.com>
3978
3979	* gimplify.cc (gimplify_save_expr): Add missing guard.
3980
39812023-02-13  Kewen Lin  <linkw@linux.ibm.com>
3982
3983	Backported from master:
3984	2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
3985		    Andrew Pinski  <apinski@marvell.com>
3986
3987	PR target/108396
3988	* config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
3989	vec_vsubcuqP with vec_vsubcuq.
3990
39912023-02-13  Kewen Lin  <linkw@linux.ibm.com>
3992
3993	Backported from master:
3994	2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
3995
3996	PR target/108348
3997	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
3998	support for invalid uses of MMA opaque type in function arguments.
3999
40002023-02-13  Kewen Lin  <linkw@linux.ibm.com>
4001
4002	Backported from master:
4003	2023-01-16  Kewen Lin  <linkw@linux.ibm.com>
4004
4005	PR target/108272
4006	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
4007	support for invalid uses in inline asm, factor out the checking and
4008	erroring to lambda function check_and_error_invalid_use.
4009
40102023-02-11  John David Anglin  <danglin@gcc.gnu.org>
4011
4012	* config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
4013
40142023-02-10  Jakub Jelinek  <jakub@redhat.com>
4015
4016	Backported from master:
4017	2023-01-31  Jakub Jelinek  <jakub@redhat.com>
4018
4019	PR c++/105593
4020	* config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
4021	_mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
4022	_mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
4023	_mm512_undefined_pd () or _mm512_undefined_ps () instead of using
4024	uninitialized automatic variable __W.
4025
40262023-02-10  Jakub Jelinek  <jakub@redhat.com>
4027
4028	Backported from master:
4029	2023-01-16  Jakub Jelinek  <jakub@redhat.com>
4030
4031	PR c++/105593
4032	* config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
4033	disable -Winit-self using pragma GCC diagnostic ignored.
4034	* config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
4035	Likewise.
4036	* config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
4037	_mm256_undefined_si256): Likewise.
4038	* config/i386/avx512fintrin.h (_mm512_undefined_pd,
4039	_mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
4040	* config/i386/avx512fp16intrin.h (_mm_undefined_ph,
4041	_mm256_undefined_ph, _mm512_undefined_ph): Likewise.
4042
40432023-02-10  Jakub Jelinek  <jakub@redhat.com>
4044
4045	Backported from master:
4046	2023-01-19  Jakub Jelinek  <jakub@redhat.com>
4047
4048	PR tree-optimization/108440
4049	* tree-ssa-forwprop.cc: Include gimple-range.h.
4050	(simplify_rotate): For the forms with T2 wider than T and shift counts of
4051	Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
4052	to B.  For the forms with T2 wider than T and shift counts of
4053	Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
4054	range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
4055	Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
4056	pass specific ranger instead of get_global_range_query.
4057	(pass_forwprop::execute): Disable that ranger at the end of pass if it has
4058	been created.
4059
40602023-02-10  Jakub Jelinek  <jakub@redhat.com>
4061
4062	Backported from master:
4063	2023-01-17  Jakub Jelinek  <jakub@redhat.com>
4064
4065	PR tree-optimization/106523
4066	* tree-ssa-forwprop.cc (simplify_rotate): For the
4067	patterns with (-Y) & (B - 1) in one operand's shift
4068	count and Y in another, if T2 has wider precision than T,
4069	punt if Y could have a value in [B, B2 - 1] range.
4070
40712023-02-10  Andrew Pinski  <apinski@marvell.com>
4072
4073	Backported from master:
4074	2023-02-09  Andrew Pinski  <apinski@marvell.com>
4075
4076	PR tree-optimization/108688
4077	* match.pd (bit_field_ref [bit_insert]): Avoid generating
4078	BIT_FIELD_REFs of non-mode-precision integral operands.
4079
40802023-02-10  Jakub Jelinek  <jakub@redhat.com>
4081
4082	Backported from master:
4083	2023-02-08  Jakub Jelinek  <jakub@redhat.com>
4084
4085	PR tree-optimization/108692
4086	* tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
4087	widened_code which is different from code, don't call
4088	vect_look_through_possible_promotion but instead just check op is
4089	SSA_NAME with integral type for which vect_is_simple_use is true
4090	and call set_op on this_unprom.
4091
40922023-02-10  Jakub Jelinek  <jakub@redhat.com>
4093
4094	Backported from master:
4095	2023-02-02  Jakub Jelinek  <jakub@redhat.com>
4096
4097	PR middle-end/108435
4098	* tree-nested.cc (convert_nonlocal_omp_clauses)
4099	<case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
4100	is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
4101	before calling declare_vars.
4102	(convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
4103	with the OMP_CLAUSE_LASTPRIVATE handling except for whether
4104	seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
4105	or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).
4106
41072023-02-10  Jakub Jelinek  <jakub@redhat.com>
4108
4109	Backported from master:
4110	2023-02-01  Jakub Jelinek  <jakub@redhat.com>
4111
4112	PR debug/108573
4113	* ree.cc (combine_reaching_defs): Don't return false for paradoxical
4114	subregs in DEBUG_INSNs.
4115
41162023-02-10  Jakub Jelinek  <jakub@redhat.com>
4117
4118	Backported from master:
4119	2023-01-31  Jakub Jelinek  <jakub@redhat.com>
4120
4121	PR target/108599
4122	* config/i386/i386-expand.cc
4123	(ix86_convert_const_wide_int_to_broadcast): Return nullptr if
4124	CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
4125	equal to bitsize of mode.
4126
41272023-02-10  Jakub Jelinek  <jakub@redhat.com>
4128
4129	Backported from master:
4130	2023-01-31  Jakub Jelinek  <jakub@redhat.com>
4131
4132	PR rtl-optimization/108596
4133	* bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
4134	ends with asm goto and has a crossing fallthrough edge to the same bb
4135	that contains at least one of its labels by restoring EDGE_CROSSING
4136	flag even on possible edge from cur_bb to new_bb successor.
4137
41382023-02-10  Jakub Jelinek  <jakub@redhat.com>
4139
4140	Backported from master:
4141	2023-01-27  Jakub Jelinek  <jakub@redhat.com>
4142
4143	PR other/108560
4144	* doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
4145	from size_t to int.
4146
41472023-02-10  Jakub Jelinek  <jakub@redhat.com>
4148
4149	Backported from master:
4150	2023-01-25  Jakub Jelinek  <jakub@redhat.com>
4151
4152	PR tree-optimization/108498
4153	* gimple-ssa-store-merging.cc (class store_operand_info):
4154	End coment with full stop rather than comma.
4155	(split_group): Likewise.
4156	(merged_store_group::apply_stores): Clear string_concatenation if
4157	start or end aren't on a byte boundary.
4158
41592023-02-10  Eric Biggers  <ebiggers@google.com>
4160
4161	Backported from master:
4162	2023-01-24  Eric Biggers  <ebiggers@google.com>
4163
4164	PR bootstrap/90543
4165	* optc-save-gen.awk: Fix copy-and-paste error.
4166
41672023-02-10  Jakub Jelinek  <jakub@redhat.com>
4168
4169	Backported from master:
4170	2023-01-19  Jakub Jelinek  <jakub@redhat.com>
4171
4172	PR middle-end/108459
4173	* omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
4174	than fold_unary for NEGATE_EXPR.
4175
41762023-02-10  Jakub Jelinek  <jakub@redhat.com>
4177
4178	Backported from master:
4179	2023-01-04  Jakub Jelinek  <jakub@redhat.com>
4180
4181	PR middle-end/108237
4182	* generic-match-head.cc: Include tree-pass.h.
4183	(canonicalize_math_p, optimize_vectors_before_lowering_p): Define
4184	to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
4185	resp. PROP_gimple_lvec property set.
4186
41872023-02-10  Jakub Jelinek  <jakub@redhat.com>
4188
4189	Backported from master:
4190	2023-01-03  Jakub Jelinek  <jakub@redhat.com>
4191
4192	PR middle-end/108264
4193	* expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
4194	from source which doesn't have scalar integral mode first convert
4195	it to outer_mode.
4196
41972023-02-10  Jakub Jelinek  <jakub@redhat.com>
4198
4199	Backported from master:
4200	2022-12-23  Jakub Jelinek  <jakub@redhat.com>
4201
4202	PR tree-optimization/108068
4203	* tree.h (real_maybe_zerop): Declare.
4204	* tree.cc (real_maybe_zerop): Define.
4205	* tree-ssa-dom.cc (record_edge_info): Use it instead of
4206	real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop.  Always set
4207	can_infer_simple_equiv to false for decimal floating point types.
4208
42092023-02-10  Jakub Jelinek  <jakub@redhat.com>
4210
4211	Backported from master:
4212	2022-12-22  Jakub Jelinek  <jakub@redhat.com>
4213
4214	PR tree-optimization/108166
4215	* tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
4216	case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.
4217
42182023-02-10  Jakub Jelinek  <jakub@redhat.com>
4219
4220	Backported from master:
4221	2022-12-22  Jakub Jelinek  <jakub@redhat.com>
4222
4223	PR rtl-optimization/108193
4224	* cse.cc (compute_const_anchors): Change n type to
4225	unsigned HOST_WIDE_INT, adjust comparison against it to avoid
4226	warnings.  Formatting fix.
4227	(insert_const_anchor): Use gen_int_mode instead of GEN_INT.
4228
42292023-02-10  Jakub Jelinek  <jakub@redhat.com>
4230
4231	Backported from master:
4232	2022-12-16  Jakub Jelinek  <jakub@redhat.com>
4233
4234	PR rtl-optimization/106751
4235	* loop-invariant.cc (move_invariant_reg): If preheader bb ends
4236	with a JUMP_INSN, split the preheader edge and emit invariants
4237	into the new preheader basic block.
4238
42392023-02-10  Jakub Jelinek  <jakub@redhat.com>
4240
4241	Backported from master:
4242	2022-12-15  Jakub Jelinek  <jakub@redhat.com>
4243
4244	PR tree-optimization/108095
4245	* tree-into-ssa.cc (maybe_register_def): Insert debug stmt
4246	on all non-EH edges from asm goto if they have a single
4247	predecessor rather than asserting there is at most one such edge.
4248	Test whether there are no PHI nodes next to the single predecessor
4249	test.
4250
42512023-02-10  Jakub Jelinek  <jakub@redhat.com>
4252
4253	Backported from master:
4254	2022-12-10  Jakub Jelinek  <jakub@redhat.com>
4255
4256	PR tree-optimization/107997
4257	* tree-ssa-loop-ivopts.cc: Include cfganal.h.
4258	(create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
4259	with a stmt which ends bb, instead of adding iv update after it split
4260	the latch edge and insert iterator into the new latch bb.
4261
42622023-02-10  Jakub Jelinek  <jakub@redhat.com>
4263
4264	Backported from master:
4265	2022-12-08  Jakub Jelinek  <jakub@redhat.com>
4266
4267	PR debug/106719
4268	* cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
4269	debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
4270	before all the DEBUG_INSNs and split after NOTEs.  If there are
4271	other insns like jump table data, clear debug_insn.
4272
42732023-02-10  Jakub Jelinek  <jakub@redhat.com>
4274
4275	Backported from master:
4276	2022-11-28  Jakub Jelinek  <jakub@redhat.com>
4277
4278	PR target/106875
4279	* config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
4280	(ix86_abi): Replace it with TargetVariable.
4281	* config/i386/i386-options.cc (ix86_function_specific_save,
4282	ix86_function_specific_restore): Don't save and restore x_ix86_abi.
4283
42842023-02-10  Jakub Jelinek  <jakub@redhat.com>
4285
4286	Backported from master:
4287	2022-11-24  Jakub Jelinek  <jakub@redhat.com>
4288
4289	PR middle-end/107317
4290	* asan.cc: Include diagnostic-core.h.
4291	(asan_emit_stack_protection): Return NULL early if seen_error ().
4292
42932023-02-07  Andrew Pinski  <apinski@marvell.com>
4294
4295	Backported from master:
4296	2023-01-30  Andrew Pinski  <apinski@marvell.com>
4297
4298	PR tree-optimization/108582
4299	* tree-ssa-phiopt.cc (match_simplify_replacement): Add check
4300	for middlebb to have no phi nodes.
4301
43022023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4303
4304	Backported from master:
4305	2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4306
4307	PR tree-optimization/108522
4308	* tree-object-size.cc (compute_object_offset): Make EXPR
4309	argument non-const.  Call component_ref_field_offset.
4310
43112023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4312
4313	Backported from master:
4314	2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4315		    Jakub Jelinek  <jakub@redhat.com>
4316
4317	PR tree-optimization/108522
4318	* tree-object-size.cc (compute_object_offset): Use
4319	TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
4320
43212023-02-01  Martin Jambor  <mjambor@suse.cz>
4322
4323	Backported from master:
4324	2023-01-18  Martin Jambor  <mjambor@suse.cz>
4325
4326	PR ipa/107944
4327	* cgraph.cc (cgraph_node::remove): Check whether nodes up the
4328	lcone_of chain also do not need the body.
4329
43302023-01-30  Andrew MacLeod  <amacleod@redhat.com>
4331
4332	PR tree-optimization/108306
4333	* range-op.cc (operator_lshift::fold_range): Return [0, 0] not
4334	varying for shifts that are always out of void range.
4335	(operator_rshift::fold_range): Return [0, 0] not
4336	varying for shifts that are always out of void range.
4337
43382023-01-30  liuhongt  <hongtao.liu@intel.com>
4339
4340	* config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
4341	* doc/invoke.texi: Ditto.
4342
43432023-01-29  Jan Hubicka  <jh@suse.cz>
4344
4345	Backported from master:
4346	2023-01-16  Jan Hubicka  <jh@suse.cz>
4347
4348	* config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
4349	by TARGET_USE_SCATTER.
4350	* config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
4351	TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
4352	* config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
4353	TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
4354	(X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
4355	for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.
4356
43572023-01-29  Jan Hubicka  <jh@suse.cz>
4358
4359	Backported from master:
4360	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
4361
4362	* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
4363	TARGET_AVX512_SPLIT_REGS
4364	* config/i386/i386-options.cc (ix86_option_override_internal):
4365	Honor x86_TONE_AVOID_256FMA_CHAINS.
4366	* config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
4367	(ix86_reassociation_width): Likewise.
4368	* config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
4369	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
4370	for znver4.
4371	(X86_TUNE_USE_GATHER_4PARTS): Likewise.
4372	(X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
4373	(X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
4374	(X86_TUNE_AVX256_OPTIMAL): Add znver4.
4375	(X86_TUNE_AVX512_SPLIT_REGS): New tune.
4376	(X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
4377	(X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
4378	(X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
4379	(X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
4380
43812023-01-29  Jan Hubicka  <jh@suse.cz>
4382
4383	Backported from master:
4384	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
4385
4386	* config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
4387	moves, division multiplication, gathers, L2 cache size, and more
4388	complex FP instrutions.
4389
43902023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4391
4392	Backported from master:
4393	2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4394
4395	* common/config/i386/i386-common.cc (processor_alias_table):
4396	Use CPU_ZNVER4 for znver4.
4397	* config/i386/i386.md: Add znver4.md.
4398	* config/i386/znver4.md: New.
4399
44002023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4401
4402	Backported from master:
4403	2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4404
4405	* common/config/i386/i386-common.cc (processor_alias_table): Use
4406	CPU_ZNVER3 for znver4.
4407	* config/i386/znver.md: Remove znver4 reservations.
4408
44092023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4410
4411	Backported from master:
4412	2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4413
4414	* common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
4415	* common/config/i386/i386-common.cc (processor_names): Add znver4.
4416	(processor_alias_table): Add znver4 and modularize old znvers.
4417	* common/config/i386/i386-cpuinfo.h (processor_subtypes):
4418	AMDFAM19H_ZNVER4.
4419	* config.gcc (x86_64-*-* |...): Likewise.
4420	* config/i386/driver-i386.cc (host_detect_local_cpu): Let
4421	-march=native recognize znver4 cpus.
4422	* config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
4423	* config/i386/i386-options.cc (m_ZNVER4): New definition.
4424	(m_ZNVER): Include m_ZNVER4.
4425	(processor_cost_table): Add znver4.
4426	* config/i386/i386.cc (ix86_reassociation_width): Likewise.
4427	* config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
4428	(PTA_ZNVER1): New definition.
4429	(PTA_ZNVER2): Likewise.
4430	(PTA_ZNVER3): Likewise.
4431	(PTA_ZNVER4): Likewise.
4432	* config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
4433	md file.
4434	* config/i386/x86-tune-costs.h (znver4_cost): New definition.
4435	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
4436	(ix86_adjust_cost): Likewise.
4437	* config/i386/znver1.md: Rename to znver.md.
4438	* config/i386/znver.md: Add new reservations for znver4.
4439	* doc/extend.texi: Add details about znver4.
4440	* doc/invoke.texi: Likewise.
4441
44422023-01-27  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4443
4444	Backported from master:
4445	2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4446
4447	PR target/107987
4448	* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
4449	@mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
4450	operand.
4451
44522023-01-26  Marek Polacek  <polacek@redhat.com>
4453
4454	Backported from master:
4455	2023-01-26  Marek Polacek  <polacek@redhat.com>
4456
4457	PR middle-end/108543
4458	* opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
4459	if it was previously set.
4460
44612023-01-26  Dimitar Dimitrov  <dimitar@dinux.eu>
4462
4463	Backported from master:
4464	2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>
4465
4466	* config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
4467	and HI input modes.
4468	* config/pru/pru.md (clz): Fix generated code for QI and HI
4469	input modes.
4470
44712023-01-25  Christophe Lyon  <christophe.lyon@arm.com>
4472
4473	Backported from master:
4474	2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
4475		    Richard Sandiford  <richard.sandiford@arm.com>
4476
4477	* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
4478	comment.
4479	(aarch64_layout_arg): Factorize warning conditions.
4480	(aarch64_function_arg_boundary): Fix typo.
4481	* function.cc (currently_expanding_function_start): New variable.
4482	(expand_function_start): Handle
4483	currently_expanding_function_start.
4484	* function.h (currently_expanding_function_start): Declare.
4485
44862023-01-24  Richard Biener  <rguenther@suse.de>
4487
4488	Backported from master:
4489	2022-12-19  Richard Biener  <rguenther@suse.de>
4490
4491	PR tree-optimization/108164
4492	* tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
4493	Perform vect_step_op_add update in the appropriate type.
4494
44952023-01-24  Richard Biener  <rguenther@suse.de>
4496
4497	Backported from master:
4498	2022-12-13  Richard Biener  <rguenther@suse.de>
4499
4500	PR tree-optimization/108076
4501	* tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
4502	with non-local or forced labels that we later remove
4503	labels from.
4504
45052023-01-24  Richard Biener  <rguenther@suse.de>
4506
4507	Backported from master:
4508	2022-12-21  Richard Biener  <rguenther@suse.de>
4509
4510	PR middle-end/107994
4511	* gimplify.cc (gimplify_expr): Catch errorneous comparison
4512	operand.
4513
45142023-01-24  Richard Biener  <rguenther@suse.de>
4515
4516	Backported from master:
4517	2022-11-11  Richard Biener  <rguenther@suse.de>
4518		    Nikita Voronov  <nik_1357@mail.ru>
4519
4520	PR tree-optimization/107554
4521	* tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
4522	Use unsigned HOST_WIDE_INT type for the strlen.
4523
45242023-01-24  Sergei Trofimovich  <siarheit@google.com>
4525
4526	Backported from master:
4527	2022-08-16  Sergei Trofimovich  <siarheit@google.com>
4528
4529	PR driver/106624
4530	* gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
4531	argument using xstrdup().
4532
45332023-01-23  Andreas Krebbel  <krebbel@linux.ibm.com>
4534
4535	Backported from master:
4536	2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
4537
4538	PR target/106101
4539	* config/s390/predicates.md (subreg_register_operand): New
4540	predicate.
4541	* config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
4542	function prototype.
4543	* config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
4544	(s390_expand_insv): Use s390_gen_lowpart_subreg instead of
4545	gen_lowpart.
4546	* config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
4547	("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
4548	("movstrictqi", "movstricthi", "movstrictsi"): Use the
4549	subreg_register_operand predicate instead of register_operand.
4550
45512023-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4552
4553	PR tree-optimization/108199
4554	* tree-sra.cc (sra_modify_expr): Deal with reverse storage order
4555	for bit-field references.
4556
45572023-01-11  Martin Liska  <mliska@suse.cz>
4558
4559	Backported from master:
4560	2022-12-28  Martin Liska  <mliska@suse.cz>
4561
4562	PR tree-optimization/108137
4563	* tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
4564	different from INTEGER_CST.
4565
45662023-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
4567
4568	Backported from master:
4569	2022-12-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
4570
4571	PR target/107714
4572	* config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
4573	* config/arm/arm.cc (mve_struct_mem_operand): New function.
4574	* config/arm/constraints.md (Ug): New constraint.
4575	* config/arm/mve.md (mve_vst4q<mode>): Change constraint.
4576	(mve_vst2q<mode>): Likewise.
4577	(mve_vld4q<mode>): Likewise.
4578	(mve_vld2q<mode>): Likewise.
4579	* config/arm/predicates.md (mve_struct_operand): New predicate.
4580
45812023-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4582
4583	Backported from master:
4584	2022-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4585
4586	PR target/108140
4587	* config/aarch64/aarch64-builtins.cc
4588	(aarch64_expand_builtin_data_intrinsic): Handle NULL target.
4589
45902023-01-05  Kewen Lin  <linkw@linux.ibm.com>
4591
4592	PR target/106736
4593	* config/rs6000/mma.md (define_expand movoo): Call function
4594	rs6000_opaque_type_invalid_use_p to check and emit error message for
4595	the invalid use of opaque type.
4596	(define_expand movxo): Likewise.
4597	* config/rs6000/rs6000-protos.h
4598	(rs6000_opaque_type_invalid_use_p): New function declaration.
4599	(currently_expanding_gimple_stmt): New extern declaration.
4600	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
4601	function.
4602
46032022-12-22  Richard Biener  <rguenther@suse.de>
4604
4605	Backported from master:
4606	2022-12-22  Richard Biener  <rguenther@suse.de>
4607
4608	PR bootstrap/106482
4609	* doc/install.texi (ISO C++11 Compiler): Document GCC version
4610	known to work.
4611
46122022-12-22  Martin Liska  <mliska@suse.cz>
4613
4614	Backported from master:
4615	2022-08-10  Martin Liska  <mliska@suse.cz>
4616
4617	* opts-jobserver.h: Add one member.
4618	* opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
4619	format of --jobserver-auth.
4620
46212022-12-22  Martin Liska  <mliska@suse.cz>
4622
4623	Backported from master:
4624	2022-08-10  Martin Liska  <mliska@suse.cz>
4625
4626	* gcc.cc (driver::detect_jobserver): Remove and move to
4627	jobserver.h.
4628	* lto-wrapper.cc (jobserver_active_p): Likewise.
4629	(run_gcc): Likewise.
4630	* opts-jobserver.h: New file.
4631	* opts-common.cc (jobserver_info::jobserver_info): New function.
4632
46332022-12-20  Richard Biener  <rguenther@suse.de>
4634
4635	Backported from master:
4636	2022-12-20  Richard Biener  <rguenther@suse.de>
4637
4638	PR d/104749
4639	* doc/install.texi (GDC): Document GDC 9.4 or later is required
4640	to build the D language frontend.
4641
46422022-12-20  Hongyu Wang  <hongyu.wang@intel.com>
4643
4644	* config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
4645	m_SAPPHIRERAPIDS, m_ALDERLAKE.
4646
46472022-12-15  Sebastian Pop  <spop@amazon.com>
4648
4649	PR target/98776
4650	* config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
4651	Declared.
4652	* config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
4653	Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
4654	(aarch64_output_patchable_area): New.
4655	* config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
4656	(patchable_area): Define.
4657
46582022-12-13  Alex Coplan  <alex.coplan@arm.com>
4659
4660	Backported from master:
4661	2022-12-01  Alex Coplan  <alex.coplan@arm.com>
4662
4663	* varasm.cc (assemble_variable): Fix type confusion bug when
4664	checking for ".vtable_map_vars" section.
4665
46662022-12-12  Richard Biener  <rguenther@suse.de>
4667
4668	Backported from master:
4669	2022-11-29  Richard Biener  <rguenther@suse.de>
4670
4671	PR tree-optimization/107898
4672	* gimple-ssa-warn-alloca.cc (alloca_call_type): Check
4673	the type of the alloca argument is compatible with size_t
4674	before querying ranges.
4675
46762022-12-12  Richard Biener  <rguenther@suse.de>
4677
4678	Backported from master:
4679	2022-11-25  Richard Biener  <rguenther@suse.de>
4680
4681	PR tree-optimization/107865
4682	* tree-cfg.cc (move_sese_region_to_fn): Free the number of
4683	iterations of moved loops.
4684
46852022-12-12  Richard Biener  <rguenther@suse.de>
4686
4687	Backported from master:
4688	2022-12-05  Richard Biener  <rguenther@suse.de>
4689
4690	PR tree-optimization/107833
4691	PR tree-optimization/107839
4692	* cfghooks.cc: Include tree.h.
4693	* tree-ssa-loop-im.cc (movement_possibility): Wrap and
4694	make stmts using any ssa_name_maybe_undef_p operand
4695	to preserve execution.
4696	(loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
4697	to init maybe-undefined status.
4698	* tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
4699	ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
4700	mark_ssa_maybe_undefs): Move ...
4701	* tree-ssa.cc: ... here.
4702	* tree-ssa.h (ssa_name_any_use_dominates_bb_p,
4703	mark_ssa_maybe_undefs): Declare.
4704	(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
4705
47062022-12-12  Richard Biener  <rguenther@suse.de>
4707
4708	Backported from master:
4709	2022-11-16  Richard Biener  <rguenther@suse.de>
4710
4711	PR tree-optimization/107686
4712	* tree-ssa-forwprop.cc (optimize_vector_load): Restrict
4713	VEC_UNPACK support to integral typed bitfield refs.
4714
47152022-12-12  Richard Biener  <rguenther@suse.de>
4716
4717	Backported from master:
4718	2022-11-22  Richard Biener  <rguenther@suse.de>
4719
4720	PR tree-optimization/107766
4721	* tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
4722	Use *node to check for FP vector types.
4723
47242022-12-12  Richard Biener  <rguenther@suse.de>
4725
4726	Backported from master:
4727	2022-11-18  Richard Biener  <rguenther@suse.de>
4728
4729	PR tree-optimization/107647
4730	* tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
4731	allow FMA generation with -ffp-contract=fast for FP types.
4732	(complex_mul_pattern::matches): Likewise.
4733
47342022-12-12  Richard Biener  <rguenther@suse.de>
4735
4736	Backported from master:
4737	2022-10-28  Richard Biener  <rguenther@suse.de>
4738
4739	PR tree-optimization/107407
4740	* tree-ssa-dse.cc (dse_classify_store): Perform backedge
4741	varying index check when collecting PHI uses rather than
4742	after optimizing processing of the candidate defs.
4743
47442022-12-12  Richard Biener  <rguenther@suse.de>
4745
4746	Backported from master:
4747	2022-12-05  Richard Biener  <rguenther@suse.de>
4748
4749	PR tree-optimization/106868
4750	* gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
4751	Inline into single user ...
4752	(pass_waccess::check_dangling_uses): ... here and adjust the
4753	call and the PHI case to require that ref.aref is the address
4754	of the decl.
4755
47562022-12-09  Martin Liska  <mliska@suse.cz>
4757
4758	Backported from master:
4759	2022-12-09  Martin Liska  <mliska@suse.cz>
4760
4761	* config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
4762	as for PR103661.
4763	* doc/extend.texi: Fix "x86-64" use.
4764
47652022-12-09  Martin Liska  <mliska@suse.cz>
4766
4767	Backported from master:
4768	2022-05-11  Martin Liska  <mliska@suse.cz>
4769
4770	* common/config/i386/cpuinfo.h (has_cpu_feature): Directly
4771	compute index in cpu_features2.
4772	(set_cpu_feature): Likewise.
4773	* config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
4774	loop for cpu_features2 and use NOP_EXPRs.
4775
47762022-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4777
4778	Backported from master:
4779	2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4780
4781	* config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
4782	(*aarch64_cpymemdi): Likewise.
4783	(aarch64_movmemdi): Likewise.
4784	(aarch64_setmemdi): Likewise.
4785	(*aarch64_setmemdi): Likewise.
4786
47872022-12-05  Andrew Pinski  <pinskia@gmail.com>
4788
4789	Backported from master:
4790	2022-12-05  Andrew Pinski  <pinskia@gmail.com>
4791
4792	PR tree-optimization/107956
4793	* tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
4794	Check for NULL LHS on masked loads.
4795
47962022-12-01  liuhongt  <hongtao.liu@intel.com>
4797
4798	PR target/107863
4799	* config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
4800	Convert op1 to target mode whenever mode mismatch.
4801
48022022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
4803
4804	Backported from master:
4805	2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
4806
4807	* config/darwin-d.cc: Include tm.h.
4808	* config/dragonfly-d.cc: Likewise.
4809	* config/freebsd-d.cc: Remove memmodel.h.
4810	* config/glibc-d.cc: Likewise.
4811	* config/netbsd-d.cc: Include tm.h.
4812	* config/openbsd-d.cc: Likewise.
4813	* config/sol2-d.cc: Likewise.
4814
48152022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
4816
4817	Backported from master:
4818	2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
4819
4820	PR d/105659
4821	* config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
4822	* config/aarch64/aarch64-d.cc: Include tm_d.h.
4823	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
4824	config/aarch64/aarch64-d.h.
4825	(aarch64_d_register_target_info): Likewise.
4826	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
4827	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4828	* config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
4829	tm_p.h.
4830	* config/arm/arm-protos.h (arm_d_target_versions): Move to
4831	config/arm/arm-d.h.
4832	(arm_d_register_target_info): Likewise.
4833	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
4834	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4835	* config/default-d.cc: Remove memmodel.h include.
4836	* config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
4837	* config/glibc-d.cc: Likewise.
4838	* config/i386/i386-d.cc: Include tm_d.h.
4839	* config/i386/i386-protos.h (ix86_d_target_versions): Move to
4840	config/i386/i386-d.h.
4841	(ix86_d_register_target_info): Likewise.
4842	(ix86_d_has_stdcall_convention): Likewise.
4843	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
4844	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4845	(TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
4846	* config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
4847	* config/mips/mips-d.cc: Include tm_d.h.
4848	* config/mips/mips-protos.h (mips_d_target_versions): Move to
4849	config/mips/mips-d.h.
4850	(mips_d_register_target_info): Likewise.
4851	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
4852	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4853	* config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
4854	* config/openbsd-d.cc: Likewise.
4855	* config/pa/pa-d.cc: Include tm_d.h.
4856	* config/pa/pa-protos.h (pa_d_target_versions): Move to
4857	config/pa/pa-d.h.
4858	(pa_d_register_target_info): Likewise.
4859	* config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
4860	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4861	* config/riscv/riscv-d.cc: Include tm_d.h.
4862	* config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
4863	config/riscv/riscv-d.h.
4864	(riscv_d_register_target_info): Likewise.
4865	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
4866	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4867	* config/rs6000/rs6000-d.cc: Include tm_d.h.
4868	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
4869	config/rs6000/rs6000-d.h.
4870	(rs6000_d_register_target_info): Likewise.
4871	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
4872	(TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
4873	* config/s390/s390-d.cc: Include tm_d.h.
4874	* config/s390/s390-protos.h (s390_d_target_versions): Move to
4875	config/s390/s390-d.h.
4876	(s390_d_register_target_info): Likewise.
4877	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
4878	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4879	* config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
4880	* config/sparc/sparc-d.cc: Include tm_d.h.
4881	* config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
4882	config/sparc/sparc-d.h.
4883	(sparc_d_register_target_info): Likewise.
4884	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
4885	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
4886	* configure: Regenerate.
4887	* configure.ac (tm_d_file): Remove defaults.h.
4888	(tm_d_include_list): Remove options.h and insn-constants.h.
4889	* config/aarch64/aarch64-d.h: New file.
4890	* config/arm/arm-d.h: New file.
4891	* config/i386/i386-d.h: New file.
4892	* config/mips/mips-d.h: New file.
4893	* config/pa/pa-d.h: New file.
4894	* config/riscv/riscv-d.h: New file.
4895	* config/rs6000/rs6000-d.h: New file.
4896	* config/s390/s390-d.h: New file.
4897	* config/sparc/sparc-d.h: New file.
4898
48992022-11-30  John David Anglin  <danglin@gcc.gnu.org>
4900
4901	* config/pa/pa.md (addvdi3): Force operand 2 to a register.
4902	Remove "addi,tsv,*" instruction from unamed pattern.
4903	(subvdi3): Force operand 1 to a register.
4904	Remove "subi,tsv" instruction from from unamed pattern.
4905
49062022-11-29  Max Filippov  <jcmvbkbc@gmail.com>
4907
4908	Backported from master:
4909	2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
4910
4911	PR rtl-optimization/107482
4912	* ira-color.cc (assign_hard_reg): Only call
4913	update_costs_from_copies when retry_p is false.
4914
49152022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
4916
4917	* range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
4918
49192022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
4920
4921	* tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
4922	Bail out if source and destination do not have the same storage order.
4923
49242022-11-21  Jakub Jelinek  <jakub@redhat.com>
4925
4926	Backported from master:
4927	2022-11-21  Jakub Jelinek  <jakub@redhat.com>
4928
4929	PR target/107748
4930	* config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
4931	_mm512_castph512_ph256, _mm512_castph128_ph512,
4932	_mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
4933	variables and union members.
4934	* config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
4935	_mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
4936	* config/i386/smmintrin.h (_mm_extract_ps): Likewise.
4937	* config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise.
4938
49392022-11-20  Jakub Jelinek  <jakub@redhat.com>
4940
4941	Backported from master:
4942	2022-11-20  Jakub Jelinek  <jakub@redhat.com>
4943
4944	PR target/107183
4945	* reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
4946	If >= 0 and a DEBUG_INSN would be otherwise returned, set
4947	DEBUG_SEEN to 1 and ignore it.
4948	(swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
4949	mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
4950	were seen and revert all changes on success in that case.
4951	Don't try to recog_memoized DEBUG_INSNs.
4952	(compare_for_stack_reg): Adjust swap_rtx_condition caller.
4953	If it returns true and debug_seen is 1, call swap_rtx_condition
4954	again with debug_seen -1.
4955
49562022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
4957
4958	Backported from master:
4959	2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
4960
4961	* config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
4962	'-mmainkernel'.
4963
49642022-11-19  Jinyang He  <hejinyang@loongson.cn>
4965
4966	Backported from master:
4967	2022-11-18  Jinyang He  <hejinyang@loongson.cn>
4968
4969	PR target/107713
4970	* config/loongarch/sync.md
4971	(atomic_cas_value_exchange_7_<mode>): New define_insn.
4972	(atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
4973	atomic_cas_value_cmp_and_7_si.
4974
49752022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4976
4977	Backported from master:
4978	2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4979
4980	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
4981	* config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
4982	* config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
4983	Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
4984	registers and then +1/-1).
4985	* config/aarch64/aarch64-tune.md: Regenerate.
4986	* config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
4987	idiom-matcher for the new fusion pair.
4988	* doc/invoke.texi: Add ampere1a.
4989
49902022-11-16  Martin Jambor  <mjambor@suse.cz>
4991
4992	Backported from master:
4993	2022-10-19  Martin Jambor  <mjambor@suse.cz>
4994
4995	PR tree-optimization/107206
4996	* tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
4997	(analyze_access_subtree): Do not create replacements for accesses with
4998	this flag when not toally scalarizing.
4999	(propagate_subaccesses_from_lhs): Set the new flag.
5000
50012022-11-09  Eric Botcazou  <ebotcazou@adacore.com>
5002
5003	* alias.cc (init_alias_analysis): Do not record sets to the hard
5004	frame pointer if the frame pointer has not been eliminated.
5005
50062022-11-08  H.J. Lu  <hjl.tools@gmail.com>
5007
5008	Backported from master:
5009	2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
5010
5011	PR target/107304
5012	* expr.cc (get_inner_reference): Always use TYPE_MODE for vector
5013	field with vector raw mode.
5014
50152022-11-07  Cui,Lili  <lili.cui@intel.com>
5016
5017	* config/i386/driver-i386.cc (host_detect_local_cpu):
5018	Move sapphirerapids out of AVX512_VP2INTERSECT.
5019	* config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
5020	* doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
5021
50222022-11-05  Jonathan Wakely  <jwakely@redhat.com>
5023
5024	Backported from master:
5025	2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
5026
5027	PR c/41041
5028	* doc/cppopts.texi: Document -fwide-exec-charset defaults
5029	correctly.
5030
50312022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
5032
5033	* fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
5034	Do not take into account operand 2.
5035	(operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
5036
50372022-11-03  Uros Bizjak  <ubizjak@gmail.com>
5038
5039	Backported from master:
5040	2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
5041
5042	PR target/107404
5043	* config/i386/i386.md (eliminate reg-reg move by inverting the
5044	condition of a cmove #2 peephole2): Check if eliminated move
5045	initialized a register, used in the moved instruction.
5046
50472022-11-03  Jakub Jelinek  <jakub@redhat.com>
5048
5049	Backported from master:
5050	2022-10-02  Jakub Jelinek  <jakub@redhat.com>
5051
5052	PR tree-optimization/107121
5053	* tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
5054	DEFFERED_INIT -> DEFERRED_INIT.
5055
50562022-11-03  Jakub Jelinek  <jakub@redhat.com>
5057
5058	Backported from master:
5059	2022-09-24  Jakub Jelinek  <jakub@redhat.com>
5060
5061	PR c/107001
5062	* omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
5063	at the end.
5064	* omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
5065	is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
5066	update parent.
5067	(omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
5068	cur_region back after new_omp_region.
5069
50702022-10-28  Julian Brown  <julian@codesourcery.com>
5071
5072	Backported from master:
5073	2022-10-28  Julian Brown  <julian@codesourcery.com>
5074		    Thomas Schwinge  <thomas@codesourcery.com>
5075
5076	PR middle-end/90115
5077	* omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
5078	privatization candidates.
5079
50802022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
5081
5082	Backported from master:
5083	2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
5084		    Yvan ROUX  <yvan.roux@foss.st.com>
5085
5086	* ira.cc: Resize array after reg number increased.
5087
50882022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5089
5090	Backported from master:
5091	2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5092
5093	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
5094	Ampere-1 core entry.
5095
50962022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5097
5098	Backported from master:
5099	2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5100
5101	* config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
5102
51032022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
5104
5105	* profile.cc (branch_prob): Be prepared for ignored functions with
5106	DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
5107
51082022-10-25  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
5109
5110	Backported from master:
5111	2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
5112
5113	PR target/106355
5114	* config/s390/s390.cc (s390_call_saved_register_used): For a
5115	parameter with BLKmode fix determining number of consecutive
5116	registers.
5117
51182022-10-25  Martin Liska  <mliska@suse.cz>
5119
5120	Backported from master:
5121	2022-10-25  Martin Liska  <mliska@suse.cz>
5122
5123	PR target/107364
5124	* common/config/i386/i386-cpuinfo.h (enum processor_vendor):
5125	Fix pedantic warning.
5126
51272022-10-25  Martin Liska  <mliska@suse.cz>
5128
5129	Backported from master:
5130	2022-10-24  Martin Liska  <mliska@suse.cz>
5131
5132	PR target/107364
5133	* common/config/i386/i386-cpuinfo.h (enum processor_vendor):
5134	  Reorder enum values as BUILTIN_VENDOR_MAX should not point
5135	  in the middle of the valid enum values.
5136
51372022-10-21  Julian Brown  <julian@codesourcery.com>
5138
5139	Backported from master:
5140	2022-10-20  Julian Brown  <julian@codesourcery.com>
5141
5142	PR target/105421
5143	* config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
5144	argument forces FLAT addressing mode, not just
5145	pointer-to-non-aggregate.
5146
51472022-10-21  Richard Biener  <rguenther@suse.de>
5148
5149	Backported from master:
5150	2022-10-21  Richard Biener  <rguenther@suse.de>
5151
5152	PR tree-optimization/107323
5153	* tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
5154	New function.
5155	(loop_distribution::break_alias_scc_partitions): Revert
5156	postorder save/restore from the PR94125 fix.  Instead
5157	make sure to not ignore edges from SCCs we are going to
5158	merge.
5159
51602022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
5161
5162	Backported from master:
5163	2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
5164
5165	PR middle-end/100400
5166	* omp-oacc-kernels-decompose.cc
5167	(visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
5168	call 'internal_error'.
5169
51702022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5171
5172	Backported from master:
5173	2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5174
5175	* config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
5176	merging alternative.
5177	(*aarch64_brk<brk_op>_ptest): Likewise.
5178
51792022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5180
5181	Backported from master:
5182	2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5183
5184	* config/aarch64/iterators.md (SVE_BRKP): New iterator.
5185	* config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
5186	(*aarch64_brkn_ptest): Likewise.
5187	(*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
5188	(*aarch64_brk<brk_op>_ptest): Likewise.
5189
51902022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
5191
5192	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
5193	AARCH64_FL_RCPC.
5194	(AARCH64_ISA_RCPC): New macro.
5195	* config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
5196	(neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
5197	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
5198	__ARM_FEATURE_RCPC when appropriate.
5199
52002022-10-19  Kewen Lin  <linkw@linux.ibm.com>
5201
5202	Backported from master:
5203	2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
5204
5205	PR target/96072
5206	* config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
5207	condition for adding REG_CFA_DEF_CFA reg note with
5208	frame_pointer_needed_indeed.
5209
52102022-10-19  Kewen Lin  <linkw@linux.ibm.com>
5211
5212	Backported from master:
5213	2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
5214
5215	PR target/100645
5216	* config/rs6000/vector.md (vec_shr_<mode>): Replace condition
5217	TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
5218
52192022-10-17  Pat Haugen  <pthaugen@linux.ibm.com>
5220
5221	Backported from master:
5222	2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
5223
5224	PR target/99685
5225	* config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
5226	register count when not splitting IEEE 128-bit Complex.
5227
52282022-10-17  Richard Biener  <rguenther@suse.de>
5229
5230	Backported from master:
5231	2022-10-14  Richard Biener  <rguenther@suse.de>
5232
5233	PR tree-optimization/107254
5234	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
5235	For permutes also analyze live lanes.
5236	(vect_schedule_slp_node): For permutes also code generate
5237	live lane extracts.
5238
52392022-10-17  Richard Biener  <rguenther@suse.de>
5240
5241	Backported from master:
5242	2022-10-11  Richard Biener  <rguenther@suse.de>
5243
5244	PR tree-optimization/107212
5245	* tree-vect-loop.cc (vectorizable_reduction): Make sure to
5246	set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
5247	reduction.
5248	(vectorizable_live_operation): Do not pun to the SLP
5249	node representative for reduction epilogue generation.
5250
52512022-10-17  Richard Biener  <rguenther@suse.de>
5252
5253	Backported from master:
5254	2022-10-13  Richard Biener  <rguenther@suse.de>
5255
5256	PR tree-optimization/107160
5257	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
5258	Do not register accumulator if we failed to reduce it
5259	to a single vector.
5260
52612022-10-17  Richard Biener  <rguenther@suse.de>
5262
5263	Backported from master:
5264	2022-10-06  Richard Biener  <rguenther@suse.de>
5265
5266	PR tree-optimization/107107
5267	* tree-ssa-sccvn.cc (visit_reference_op_store): Do not
5268	affect value-numbering when doing the tail merging
5269	MODIFY_EXPR lookup.
5270
52712022-10-17  Richard Biener  <rguenther@suse.de>
5272
5273	Backported from master:
5274	2022-09-23  Richard Biener  <rguenther@suse.de>
5275
5276	PR tree-optimization/106922
5277	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
5278	an arbitrary number of same valued skipped stores.
5279
52802022-10-17  Richard Biener  <rguenther@suse.de>
5281
5282	Backported from master:
5283	2022-09-22  Richard Biener  <rguenther@suse.de>
5284
5285	PR tree-optimization/106922
5286	* tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
5287	(vn_walk_cb_data::finish): Perform delayed verification of
5288	a skipped may-alias.
5289	(vn_reference_lookup_pieces): Likewise.
5290	(vn_reference_lookup): Likewise.
5291	(vn_reference_lookup_3): When skipping stores of the same
5292	value also handle constant stores that are more than a
5293	single VDEF away by delaying the verification.
5294
52952022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
5296
5297	PR target/107248
5298	* config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
5299	blockage for leaf functions.
5300	(sparc_flat_expand_prologue): Emit frame instead of full blockage.
5301	(sparc_expand_epilogue): Emit a frame blockage for leaf functions.
5302	(sparc_flat_expand_epilogue): Emit frame instead of full blockage.
5303
53042022-10-13  Tobias Burnus  <tobias@codesourcery.com>
5305
5306	Backported from master:
5307	2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
5308
5309	* doc/install.texi (Specific): Add missing items to bullet list.
5310	(amdgcn): Update LLVM requirements, use version not date for newlib.
5311	(nvptx): Use version not git hash for newlib.
5312
53132022-10-11  Christophe Lyon  <christophe.lyon@arm.com>
5314
5315	* config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
5316	MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
5317	(mve_vqshluq_m_n_s<mode>): Likewise.
5318	(mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
5319	instead of mve_imm_8/Rb.
5320	(mve_vqrshrunbq_n_s<mode>): Likewise.
5321	(mve_vqrshrntq_n_<supf><mode>): Likewise.
5322	(mve_vqrshruntq_n_s<mode>): Likewise.
5323	(mve_vrshrnbq_n_<supf><mode>): Likewise.
5324	(mve_vrshrntq_n_<supf><mode>): Likewise.
5325	(mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
5326	(mve_vqrshrntq_m_n_<supf><mode>): Likewise.
5327	(mve_vrshrnbq_m_n_<supf><mode>): Likewise.
5328	(mve_vrshrntq_m_n_<supf><mode>): Likewise.
5329	(mve_vqrshrunbq_m_n_s<mode>): Likewise.
5330	(mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
5331	of mve_imm_selective_upto_8/Rg.
5332	(mve_vsriq_m_n_<supf><mode>): Likewise.
5333	(cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c)
5334
53352022-10-11  Richard Biener  <rguenther@suse.de>
5336
5337	Backported from master:
5338	2022-09-14  Richard Biener  <rguenther@suse.de>
5339
5340	PR tree-optimization/106934
5341	* tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
5342	of bitfields.
5343	(maybe_rewrite_mem_ref_base): Likewise.
5344
53452022-10-11  Richard Biener  <rguenther@suse.de>
5346
5347	Backported from master:
5348	2022-09-15  Richard Biener  <rguenther@suse.de>
5349
5350	PR tree-optimization/106922
5351	* tree-ssa-pre.cc (translate_vuse_through_block): Only
5352	keep the VUSE if its def dominates PHIBLOCK.
5353	(prune_clobbered_mems): Rewrite logic so we check whether
5354	a value dies in a block when the VUSE def doesn't dominate it.
5355
53562022-10-11  Richard Biener  <rguenther@suse.de>
5357
5358	Backported from master:
5359	2022-09-09  Richard Biener  <rguenther@suse.de>
5360
5361	PR tree-optimization/106892
5362	* tree-predcom.cc (ref_at_iteration): Do not associate the
5363	constant part of the offset into the MEM_REF offset
5364	operand, across a non-zero offset.
5365
53662022-10-11  Richard Biener  <rguenther@suse.de>
5367
5368	Backported from master:
5369	2022-08-22  Richard Biener  <rguenther@suse.de>
5370
5371	PR tree-optimization/105937
5372	* tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
5373	on backedges.
5374	(execute_late_warn_uninitialized): Mark backedges.
5375
53762022-10-03  Sergei Trofimovich  <siarheit@google.com>
5377
5378	Backported from master:
5379	2022-10-03  Sergei Trofimovich  <siarheit@google.com>
5380
5381	PR target/107064
5382	* config/i386/t-i386: Add build-time dependencies against
5383	i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
5384	i386-features.o.
5385
53862022-09-29  H.J. Lu  <hjl.tools@gmail.com>
5387
5388	Backported from master:
5389	2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
5390
5391	PR target/107061
5392	* config/i386/predicates.md (encodekey128_operation): Check
5393	XMM4-XMM6 as clobbered.
5394	(encodekey256_operation): Likewise.
5395	* config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
5396	(encodekey256u32): Likewise.
5397
53982022-09-29  Tobias Burnus  <tobias@codesourcery.com>
5399
5400	Backported from master:
5401	2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
5402
5403	PR middle-end/106982
5404	* omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
5405
54062022-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5407
5408	Backported from master:
5409	2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5410
5411	* config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
5412	(demeter): Update tunings to neoversev2.
5413	* config/aarch64/aarch64-tune.md: Regenerate.
5414	* config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
5415	neoversev2_addrcost_table.
5416	(demeter_regmove_cost): Rename to neoversev2_addrcost_table.
5417	(demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
5418	(demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
5419	(demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
5420	(demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
5421	(demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
5422	(demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
5423	Update references to above.
5424	(demeter_vector_cost): Rename to neoversev2_vector_cost.
5425	(demeter_tunings): Rename to neoversev2_tunings.
5426	(aarch64_vec_op_count::rename_cycles_per_iter): Use
5427	neoversev2_sve_issue_info instead of demeter_sve_issue_info.
5428	* doc/invoke.texi (AArch64 Options): Document neoverse-v2.
5429
54302022-09-21  Richard Sandiford  <richard.sandiford@arm.com>
5431
5432	Backported from master:
5433	2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
5434
5435	PR target/106491
5436	* config/aarch64/aarch64-sve-builtins.cc (scalar_types)
5437	(acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
5438	markup to (new) extern declarations instead of to the main
5439	definition.
5440
54412022-09-21  Kewen Lin  <linkw@linux.ibm.com>
5442
5443	Backported from master:
5444	2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
5445
5446	PR target/104482
5447	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
5448	the equality check for argument number, and move this hunk ahead.
5449
54502022-09-21  Kewen.Lin  <linkw@gcc.gnu.org>
5451
5452	Backported from master:
5453	2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
5454
5455	PR target/105485
5456	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
5457	the handling for unresolved overloaded builtin function.
5458	(rs6000_expand_builtin): Likewise.
5459
54602022-09-09  Richard Biener  <rguenther@suse.de>
5461
5462	Backported from master:
5463	2022-09-07  Richard Biener  <rguenther@suse.de>
5464
5465	PR tree-optimization/106860
5466	* tree-ssa-loop-split.cc (split_loop): Find the exit to
5467	latch edge from the loop exit edge instead of from the
5468	latch.  Verify we're going to find it.
5469
54702022-09-09  Richard Biener  <rguenther@suse.de>
5471
5472	Backported from master:
5473	2022-09-06  Richard Biener  <rguenther@suse.de>
5474
5475	PR tree-optimization/106841
5476	* tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
5477	scatter/gather offset.
5478
54792022-09-09  Richard Biener  <rguenther@suse.de>
5480
5481	Backported from master:
5482	2022-09-02  Richard Biener  <rguenther@suse.de>
5483
5484	PR tree-optimization/106809
5485	* tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
5486	more than one successor before doing extra work.
5487
54882022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5489
5490	* config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
5491	-mvrsave is present.
5492	* config/rs6000/t-rtems: Add -mvrsave multilib variants for
5493	-mcpu=e6500.
5494
54952022-09-03  Peter Bergner  <bergner@linux.ibm.com>
5496
5497	Backported from master:
5498	2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
5499
5500	PR target/101322
5501	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
5502	Enforce the use of a valid MMA pointer type.
5503
55042022-09-02  Richard Earnshaw  <rearnsha@arm.com>
5505
5506	Backported from master:
5507	2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
5508
5509	PR rtl-optimization/106187
5510	* alias.h (mems_same_for_tbaa_p): Declare.
5511	* alias.cc (mems_same_for_tbaa_p): New function.
5512	* dse.cc (record_store): Use it instead of open-coding
5513	alias check.
5514	* cselib.h (cselib_redundant_set_p): Declare.
5515	* cselib.cc: Include alias.h
5516	(cselib_redundant_set_p): New function.
5517	* cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
5518	of rtx_equal_for_cselib_p.
5519	* postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
5520	(reload_cse_noop_set_p): Delete.
5521
55222022-09-02  Richard Earnshaw  <rearnsha@arm.com>
5523
5524	Backported from master:
5525	2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
5526
5527	PR target/105463
5528	* config/arm/mve.md (*movmisalign<mode>_mve_store): Use
5529	mve_memory_operand.
5530	(*movmisalign<mode>_mve_load): Likewise.
5531	* config/arm/vec-common.md (movmisalign<mode>): Convert to generator
5532	form...
5533	(@movmisalign<mode>): ... thus.  Use generic predicates and then
5534	rework operands if they are not valid.  For MVE rework to a
5535	narrower element size if the alignment is not high enough.
5536
55372022-09-02  Tamar Christina  <tamar.christina@arm.com>
5538
5539	Backported from master:
5540	2022-09-01  Tamar Christina  <tamar.christina@arm.com>
5541
5542	PR other/106782
5543	* config/aarch64/aarch64.cc
5544	(aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
5545	HOST_WIDE_INT_PRINT_UNSIGNED.
5546
55472022-09-01  Jakub Jelinek  <jakub@redhat.com>
5548
5549	Backported from master:
5550	2022-09-01  Jakub Jelinek  <jakub@redhat.com>
5551
5552	PR other/106782
5553	* tree-vect-slp.cc (vect_print_slp_tree): Use
5554	HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
5555	* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
5556	HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
5557	* tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
5558	instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
5559	instead of SLP_TREE_DEF_TYPE (node).
5560
55612022-08-30  Tamar Christina  <tamar.christina@arm.com>
5562
5563	Backported from master:
5564	2022-08-12  Tamar Christina  <tamar.christina@arm.com>
5565
5566	PR target/106524
5567	* config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
5568	*fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
5569
55702022-08-29  Peter Bergner  <bergner@linux.ibm.com>
5571
5572	Backported from master:
5573	2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
5574
5575	PR target/106017
5576	* config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
5577	of MMA pointer conversions.
5578
55792022-08-29  H.J. Lu  <hjl.tools@gmail.com>
5580
5581	Backported from master:
5582	2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
5583
5584	PR target/106714
5585	* config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
5586	__PTRDIFF_TYPE__.
5587	(_tile_stream_loadd_internal): Likewise.
5588	(_tile_stored_internal): Likewise.
5589
55902022-08-29  Jakub Jelinek  <jakub@redhat.com>
5591
5592	Backported from master:
5593	2022-08-24  Jakub Jelinek  <jakub@redhat.com>
5594
5595	PR target/106721
5596	* config/i386/sse.md (i128vldq): Add V16HF entry.
5597	(avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
5598	mask_opernad3 -> mask_operand3.
5599
56002022-08-29  Jakub Jelinek  <jakub@redhat.com>
5601
5602	Backported from master:
5603	2022-08-15  Jakub Jelinek  <jakub@redhat.com>
5604
5605	PR rtl-optimization/106590
5606	* ifcvt.cc (check_for_cc_cmp_clobbers): New function.
5607	(noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
5608	mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
5609	further conditional moves.
5610
56112022-08-26  liuhongt  <hongtao.liu@intel.com>
5612
5613	PR target/106704
5614	* config/i386/i386-builtin.def (BDESC): Add
5615	CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
5616	corresponding builtins.
5617	* config/i386/i386.cc (ix86_gimple_fold_builtin):
5618	Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
5619	IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
5620
56212022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
5622
5623	Backported from master:
5624	2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
5625
5626	PR target/106459
5627	* config/loongarch/loongarch.cc (loongarch_build_integer):
5628	Use HOST_WIDE_INT.
5629	* config/loongarch/loongarch.h (IMM_REACH): Likewise.
5630	(HWIT_1U): New Defined.
5631	(LU12I_OPERAND): Use HOST_WIDE_INT.
5632	(LU32I_OPERAND): Likewise.
5633	(LU52I_OPERAND): Likewise.
5634	(HWIT_UC_0xFFF): Likwise.
5635
56362022-08-24  Kewen Lin  <linkw@linux.ibm.com>
5637
5638	Backported from master:
5639	2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
5640
5641	PR tree-optimization/106322
5642	* tree-vect-stmts.cc (vectorizable_call): Don't allow
5643	vect_emulated_vector_p type for both vectype_in and vectype_out.
5644
56452022-08-24  Kewen.Lin  <linkw@gcc.gnu.org>
5646
5647	Backported from master:
5648	2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
5649
5650	PR target/103353
5651	* config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
5652	check to preparation statements and add handlings for !TARGET_MMA.
5653	(define_expand movxo): Likewise.
5654
56552022-08-23  Tobias Burnus  <tobias@codesourcery.com>
5656
5657	Backported from master:
5658	2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
5659
5660	* config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.
5661
56622022-08-23  Tobias Burnus  <tobias@codesourcery.com>
5663
5664	Backported from master:
5665	2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
5666
5667	PR middle-end/106548
5668	* omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
5669	for 'simd' linear-step values that are variable.
5670
56712022-08-19  Release Manager
5672
5673	* GCC 12.2.0 released.
5674
56752022-08-17  Ilya Leoshkevich  <iii@linux.ibm.com>
5676
5677	Backported from master:
5678	2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
5679
5680	* config/s390/vector.md (V_HW_FT): New iterator.
5681	* config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
5682	of V_HW.
5683
56842022-08-12  Peter Bergner  <bergner@linux.ibm.com>
5685
5686	Backported from master:
5687	2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
5688
5689	PR c/106016
5690	* expr.cc (count_type_elements): Handle OPAQUE_TYPE.
5691
56922022-08-11  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
5693
5694	Backported from master:
5695	2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5696
5697	* config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
5698	(@aarch64_rbit<mode>): ... to this and change it in...
5699	(ffs<mode>2,ctz<mode>2): ... here.
5700	(@aarch64_rev16<mode>): New.
5701	* config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
5702	Define the following enum AARCH64_REV16, AARCH64_REV16L,
5703	AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
5704	(aarch64_init_data_intrinsics): New.
5705	(aarch64_general_init_builtins): Add call to
5706	aarch64_init_data_intrinsics.
5707	(aarch64_expand_builtin_data_intrinsic): New.
5708	(aarch64_general_expand_builtin): Add call to
5709	aarch64_expand_builtin_data_intrinsic.
5710	* config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
5711	__clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
5712	__rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
5713
57142022-08-10  Tobias Burnus  <tobias@codesourcery.com>
5715
5716	Backported from master:
5717	2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
5718
5719	PR middle-end/106492
5720	* omp-low.cc (lower_rec_input_clauses): Add missing folding
5721	to data type of linear-clause list item.
5722
57232022-08-10  Richard Biener  <rguenther@suse.de>
5724
5725	Backported from master:
5726	2022-08-10  Richard Biener  <rguenther@suse.de>
5727
5728	PR tree-optimization/106513
5729	* gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
5730	for head_marker.
5731
57322022-08-10  Richard Biener  <rguenther@suse.de>
5733
5734	Backported from master:
5735	2022-08-08  Richard Biener  <rguenther@suse.de>
5736
5737	PR lto/106540
5738	PR lto/106334
5739	* lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
5740	to input DECL_INITIAL, avoiding to commit drefs.
5741
57422022-08-05   Michael Meissner  <meissner@linux.ibm.com>
5743
5744	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
5745	setting -mblock-ops-vector-pair.  Back port patch from trunk on 8/3.
5746
57472022-08-02  Peter Bergner  <bergner@linux.ibm.com>
5748
5749	Backported from master:
5750	2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
5751		    Kewen Lin  <linkw@linux.ibm.com>
5752
5753	PR testsuite/106345
5754	* config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
5755	to filter out all -mtune options.
5756
57572022-08-02  Kewen Lin  <linkw@linux.ibm.com>
5758
5759	Backported from master:
5760	2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
5761
5762	PR target/106091
5763	* config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
5764	REG_EH_REGION when replacing one store insn having it.
5765	(replace_swapped_aligned_load): Likewise.
5766
57672022-07-30  Jakub Jelinek  <jakub@redhat.com>
5768
5769	Backported from master:
5770	2022-07-29  Jakub Jelinek  <jakub@redhat.com>
5771
5772	PR middle-end/106449
5773	* omp-expand.cc (expand_omp_simd): Fix up handling of pointer
5774	iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
5775	or n2 before regimplifying it inside of a condition.
5776
57772022-07-30  Jakub Jelinek  <jakub@redhat.com>
5778
5779	Backported from master:
5780	2022-07-27  Jakub Jelinek  <jakub@redhat.com>
5781
5782	PR debug/106261
5783	* cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
5784	output asm thunks for -dx.
5785
57862022-07-30  Jakub Jelinek  <jakub@redhat.com>
5787
5788	Backported from master:
5789	2022-07-01  Jakub Jelinek  <jakub@redhat.com>
5790
5791	PR middle-end/106144
5792	* wide-int.cc (wi::shifted_mask): If end >= prec, return right after
5793	emitting element for shift or if shift is 0 first element after start.
5794	(wide_int_cc_tests): Add tests for equivalency of wi::mask and
5795	wi::shifted_mask with 0 start.
5796
57972022-07-27  David Malcolm  <dmalcolm@redhat.com>
5798
5799	* json.cc (string::print): Fix escaping of '\'.
5800
58012022-07-27  David Malcolm  <dmalcolm@redhat.com>
5802
5803	* doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
5804	fpath.txt output.
5805
58062022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
5807
5808	Backported from master:
5809	2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
5810
5811	* config/riscv/riscv.md (stack_protect_set_<mode>): Remove
5812	duplicate backslashes.
5813
58142022-07-27  Richard Biener  <rguenther@suse.de>
5815
5816	Backported from master:
5817	2022-07-26  Richard Biener  <rguenther@suse.de>
5818
5819	PR tree-optimization/106189
5820	* gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
5821	Divide using offset_ints.
5822
58232022-07-27  Joseph Myers  <joseph@codesourcery.com>
5824
5825	Backported from master:
5826	2022-06-30  Joseph Myers  <joseph@codesourcery.com>
5827
5828	PR lto/106129
5829	* lto-wrapper.cc (find_option): Add argument start.
5830	(merge_and_complain): Loop over existing_opt_index and
5831	existing_opt2_index for Xassembler check.  Update calls to
5832	find_option.
5833	(find_and_merge_options): Add argument first to determine whether
5834	to merge options with those passed in *opts.
5835	(run_gcc): Update calls to find_and_merge_options.
5836
58372022-07-27  Andrew Pinski  <apinski@marvell.com>
5838
5839	Backported from master:
5840	2022-07-09  Andrew Pinski  <apinski@marvell.com>
5841
5842	PR tree-optimization/106087
5843	* tree-ssa-dce.cc (simple_dce_from_worklist): Check
5844	to make sure the statement is only defining one operand.
5845
58462022-07-27  Tamar Christina  <tamar.christina@arm.com>
5847
5848	Backported from master:
5849	2022-07-08  Tamar Christina  <tamar.christina@arm.com>
5850
5851	PR tree-optimization/106063
5852	* match.pd: Do not apply pattern after veclower is not supported.
5853
58542022-07-27  Alexandre Oliva  <oliva@adacore.com>
5855
5856	Backported from master:
5857	2022-06-03  Alexandre Oliva  <oliva@adacore.com>
5858
5859	PR tree-optimization/105665
5860	PR tree-optimization/100810
5861	* tree-ssa-loop-ivopts.cc
5862	(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
5863	(ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
5864	(find_ssa_undef): Check precomputed flag and intervening uses.
5865	(tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
5866
58672022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5868
5869	Backported from master:
5870	2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5871
5872	* config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
5873
58742022-07-19  Richard Biener  <rguenther@suse.de>
5875
5876	Backported from master:
5877	2022-07-19  Richard Biener  <rguenther@suse.de>
5878
5879	PR middle-end/106331
5880	* builtins.cc (get_memory_rtx): Compute alignment from
5881	the original address and set MEM_OFFSET to unknown when
5882	we create a MEM_EXPR from the base object of the address.
5883
58842022-07-19  Richard Biener  <rguenther@suse.de>
5885
5886	Backported from master:
5887	2022-07-01  Richard Biener  <rguenther@suse.de>
5888
5889	PR tree-optimization/106131
5890	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
5891	zero when offsetting the read looking through an aggregate
5892	copy.
5893
58942022-07-19  Richard Biener  <rguenther@suse.de>
5895
5896	Backported from master:
5897	2022-06-29  Richard Biener  <rguenther@suse.de>
5898
5899	PR tree-optimization/106112
5900	* tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
5901	a constant operand according to its type.
5902
59032022-07-19  Richard Biener  <rguenther@suse.de>
5904
5905	Backported from master:
5906	2022-06-20  Richard Biener  <rguenther@suse.de>
5907
5908	PR middle-end/106027
5909	* fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
5910	type of the prevailing comparison for the new comparison type.
5911	(fold_binary_loc): Use proper types for the A < X && A + 1 > Y
5912	to A < X && A >= Y folding.
5913
59142022-07-19  Richard Biener  <rguenther@suse.de>
5915
5916	Backported from master:
5917	2022-06-15  Richard Biener  <rguenther@suse.de>
5918
5919	PR tree-optimization/105971
5920	* tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
5921	FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
5922	to leak less surprising alias results.
5923
59242022-07-19  Richard Biener  <rguenther@suse.de>
5925
5926	Backported from master:
5927	2022-06-15  Richard Biener  <rguenther@suse.de>
5928
5929	PR tree-optimization/105969
5930	* gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
5931	by zero in overflow check.
5932
59332022-07-19  Richard Biener  <rguenther@suse.de>
5934
5935	Backported from master:
5936	2022-06-14  Richard Biener  <rguenther@suse.de>
5937
5938	PR middle-end/105965
5939	* match.pd (view_convert CONSTRUCTOR): Handle single-element
5940	CTOR case.
5941
59422022-07-19  Richard Biener  <rguenther@suse.de>
5943
5944	Backported from master:
5945	2022-06-14  Richard Biener  <rguenther@suse.de>
5946
5947	PR tree-optimization/105946
5948	* tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
5949	Do not look at arguments not specified in the function call.
5950
59512022-07-19  Richard Biener  <rguenther@suse.de>
5952
5953	Backported from master:
5954	2022-07-11  Richard Biener  <rguenthert@suse.de>
5955
5956	PR target/105459
5957	* config/i386/i386-options.cc (ix86_set_current_function):
5958	Rebuild the target optimization node whenever necessary,
5959	not only when the optimization node didn't change.
5960
59612022-07-14   Michael Meissner  <meissner@linux.ibm.com>
5962
5963	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
5964	not generate block copies with vector pair instructions if we are
5965	tuning for power10.  Back port from master branch.
5966
59672022-07-14  Surya Kumari Jangala  <jskumari@linux.vnet.ibm.com>
5968
5969	Backported from master:
5970	2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
5971
5972	PR rtl-optimization/105041
5973	* regrename.cc (check_new_reg_p): Use nregs value from du chain.
5974
59752022-07-11  Martin Jambor  <mjambor@suse.cz>
5976
5977	Backported from master:
5978	2022-07-04  Martin Jambor  <mjambor@suse.cz>
5979
5980	PR tree-optimization/105860
5981	* tree-sra.cc (build_reconstructed_reference): Start expr
5982	traversal only just below the outermost union.
5983
59842022-07-10  Xi Ruoyao  <xry111@xry111.site>
5985
5986	Backported from master:
5987	2022-07-10  Xi Ruoyao  <xry111@xry111.site>
5988
5989	* config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
5990	instead of mul.d.
5991
59922022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
5993	    Uroš Bizjak  <ubizjak@gmail.com>
5994
5995	PR target/105930
5996	* config/i386/i386.md (*<any_or>di3_doubleword): Split after
5997	reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
5998	and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
5999
60002022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
6001
6002	Backported from master:
6003	2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
6004
6005	* config/loongarch/loongarch.cc (loongarch_compute_frame_info):
6006	Modify fp_sp_offset and gp_sp_offset's calculation method,
6007	when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
6008	or UNITS_PER_FP_REG.
6009
60102022-07-04  Andrew MacLeod  <amacleod@redhat.com>
6011
6012	PR tree-optimization/106114
6013	* gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
6014	statement operands instead of GORI cache.
6015
60162022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
6017	    Marek Polacek  <polacek@redhat.com>
6018	    Segher Boessenkool  <segher@kernel.crashing.org>
6019	    Kewen Lin  <linkw@linux.ibm.com>
6020
6021	PR target/105991
6022	* config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
6023	exact_log2 doesn't return -1 (or zero).
6024	(plus_xor): New code iterator.
6025	(*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
6026
60272022-07-04  Xi Ruoyao  <xry111@xry111.site>
6028
6029	Backported from master:
6030	2022-07-03  Xi Ruoyao  <xry111@xry111.site>
6031		    Lulu Cheng  <chenglulu@loongson.cn>
6032
6033	* config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
6034	New static function.
6035	(loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
6036	of TARGET_CHECK_ZERO_DIV.
6037	(loongarch_output_division): Likewise.
6038	* common/config/loongarch/loongarch-common.cc
6039	(TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
6040	* doc/invoke.texi: Update to match the new behavior.
6041
60422022-07-03  Roger Sayle  <roger@nextmovesoftware.com>
6043
6044	PR target/106122
6045	* config/i386/i386.md (peephole2): Avoid generating pop %esp
6046	when optimizing for size.
6047
60482022-07-02  Sergei Trofimovich  <siarheit@google.com>
6049
6050	Backported from master:
6051	2022-06-29  Sergei Trofimovich  <siarheit@google.com>
6052
6053	PR c++/106102
6054	* system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
6055
60562022-07-01  Vladimir Makarov  <vmakarov@gcc.gnu.org>
6057
6058	Backported from master:
6059	2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
6060
6061	PR target/103722
6062	* config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
6063	is special) for various scenarios.
6064
60652022-06-29  Richard Biener  <rguenther@suse.de>
6066
6067	Backported from master:
6068	2022-05-11  Richard Biener  <rguenther@suse.de>
6069
6070	PR bootstrap/105551
6071	* opts.cc (finish_options): Also disable var-tracking if
6072	!DWARF2_DEBUGGING_INFO.
6073
60742022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
6075
6076	Backported from master:
6077	2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
6078
6079	PR target/106097
6080	* config/loongarch/loongarch.cc (loongarch_build_integer):
6081	Remove undefined behavior from code.
6082
60832022-06-28  Jakub Jelinek  <jakub@redhat.com>
6084
6085	Backported from master:
6086	2022-06-21  Jakub Jelinek  <jakub@redhat.com>
6087
6088	PR rtl-optimization/106032
6089	* ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
6090	t may_trap_or_fault_p, even if it is cheap.
6091
60922022-06-28  Jakub Jelinek  <jakub@redhat.com>
6093
6094	Backported from master:
6095	2022-06-21  Jakub Jelinek  <jakub@redhat.com>
6096
6097	PR middle-end/106030
6098	* expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
6099	temp to expand_operands if mode has been promoted.
6100
61012022-06-28  Xi Ruoyao  <xry111@xry111.site>
6102
6103	Backported from master:
6104	2022-06-28  Xi Ruoyao  <xry111@xry111.site>
6105
6106	PR target/106096
6107	* config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
6108	$r13 from SIBCALL_REGS.
6109	* config/loongarch/loongarch.cc (loongarch_regno_to_class):
6110	Change $r13 to JIRL_REGS.
6111
61122022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
6113
6114	Backported from master:
6115	2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
6116
6117	* config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
6118	condition to avoid overflow.
6119
61202022-06-23  Martin Liska  <mliska@suse.cz>
6121
6122	Backported from master:
6123	2022-06-23  Martin Liska  <mliska@suse.cz>
6124
6125	PR ipa/105600
6126	* ipa-icf.cc (sem_item_optimizer::filter_removed_items):
6127	Skip variables with body_removed.
6128
61292022-06-23  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6130
6131	Backported from master:
6132	2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6133
6134	PR tree-optimization/105736
6135	* tree-object-size.cc (addr_object_size): Return size_unknown
6136	when object offset computation returns an error.
6137
61382022-06-23  Richard Sandiford  <richard.sandiford@arm.com>
6139
6140	Backported from master:
6141	2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
6142
6143	PR tree-optimization/105254
6144	PR tree-optimization/105940
6145	Revert:
6146	* config/aarch64/aarch64.cc
6147	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
6148	loop_vec_info as argument.  Restrict the unroll factor to values
6149	that divide the VF.
6150	(aarch64_vector_costs::finish_cost): Update call accordingly.
6151
61522022-06-23  Kewen Lin  <linkw@linux.ibm.com>
6153
6154	Backported from master:
6155	2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
6156
6157	PR tree-optimization/105940
6158	* tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
6159	applying suggested_unroll_factor after start_over.
6160
61612022-06-21  H.J. Lu  <hjl.tools@gmail.com>
6162
6163	Backported from master:
6164	2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
6165
6166	PR target/105960
6167	* config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
6168	false if PIC register is used when calling ifunc functions.
6169
61702022-06-20  Uros Bizjak  <ubizjak@gmail.com>
6171
6172	Backported from master:
6173	2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
6174
6175	PR target/105209
6176	* config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
6177	* config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
6178	(alpha_store_data_bypass_p_1): Ditto.
6179	* config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
6180	of generic store_data_bypass_p.
6181	(ev4_ist_c): Remove insn reservation.
6182
61832022-06-20  Uros Bizjak  <ubizjak@gmail.com>
6184
6185	Backported from master:
6186	2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
6187
6188	PR target/105970
6189	* config/i386/i386.cc (ix86_function_arg): Assert that
6190	the mode of pointer argumet is equal to ptr_mode, not Pmode.
6191
61922022-06-19  Jakub Jelinek  <jakub@redhat.com>
6193
6194	Backported from master:
6195	2022-06-18  Jakub Jelinek  <jakub@redhat.com>
6196
6197	PR middle-end/105998
6198	* varasm.cc (narrowing_initializer_constant_valid_p): Check
6199	SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
6200	! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
6201
62022022-06-19  Jakub Jelinek  <jakub@redhat.com>
6203
6204	Backported from master:
6205	2022-06-16  Jakub Jelinek  <jakub@redhat.com>
6206
6207	PR middle-end/105951
6208	* tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
6209	optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
6210	as last argument to the internal functions.
6211	* builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
6212	extra call argument to ifns.  If expand_atomic_fetch_op fails for the
6213	lhs == NULL_TREE case, fall through into the optab code with
6214	gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
6215	fails, construct a CALL_EXPR and expand that.
6216	(expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
6217	to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
6218	expand that.
6219
62202022-06-19  Jan Hubicka  <jh@suse.cz>
6221
6222	Backported from master:
6223	2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
6224
6225	PR ipa/105739
6226	* ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
6227
62282022-06-16  Richard Earnshaw  <rearnsha@arm.com>
6229
6230	Backported from master:
6231	2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
6232
6233	PR target/105981
6234	* config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
6235	to first_reg and second_reg respectively.  Initialize them correctly
6236	when generating big-endian code.
6237
62382022-06-15  Simon Wright  <simon@pushface.org>
6239
6240	Backported from master:
6241	2022-06-12  Simon Wright  <simon@pushface.org>
6242
6243	PR target/104871
6244	* config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
6245	version is darwin20 (macOS 11) or greater, truncate the version to the
6246	major number.
6247
62482022-06-15  Mark Mentovai  <mark@mentovai.com>
6249
6250	Backported from master:
6251	2022-06-12  Mark Mentovai  <mark@mentovai.com>
6252
6253	* config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
6254
62552022-06-15  Iain Sandoe  <iain@sandoe.co.uk>
6256
6257	Backported from master:
6258	2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
6259
6260	PR target/105599
6261	* config/darwin.h: Move versions-specific handling of multiply_defined
6262	from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
6263
62642022-06-15  liuhongt  <hongtao.liu@intel.com>
6265
6266	PR target/105953
6267	* config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
6268	operands[3].
6269
62702022-06-14  H.J. Lu  <hjl.tools@gmail.com>
6271
6272	Backported from master:
6273	2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
6274
6275	* common/config/i386/cpuinfo.h (get_available_features): Require
6276	AVX for F16C and VAES.
6277
62782022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6279
6280	Backported from master:
6281	2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6282
6283	* config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
6284	(-1 << 31) for the single-bit case, when operating on (1 << 31)
6285	in SImode.
6286	* config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
6287	any single-bit value, moving the special case for (1 << 31) to
6288	riscv_build_integer_1 (in riscv.c).
6289
62902022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
6291
6292	Backported from master:
6293	2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
6294
6295	PR target/105879
6296	* config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
6297	to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
6298	'gen_highpart' bitwise semantics and fix order of highpart and
6299	lowpart depending on target endianness.
6300
63012022-06-08  liuhongt  <hongtao.liu@intel.com>
6302
6303	PR target/105854
6304	* config/i386/sse.md (ssse3_palignrdi): Change alternative 2
6305	from Yv to Yw.
6306
63072022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6308
6309	Backported from master:
6310	2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6311		    Manolis Tsamis  <manolis.tsamis@vrull.eu>
6312
6313	* config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
6314	(CTZ_DEFINED_VALUE_AT_ZERO): Same.
6315	* doc/sourcebuild.texi: add documentation for RISC-V specific
6316	test target keywords
6317
63182022-06-02  Richard Biener  <rguenther@suse.de>
6319
6320	Backported from master:
6321	2022-06-01  Richard Biener  <rguenther@suse.de>
6322
6323	PR tree-optimization/105786
6324	* tree-loop-distribution.cc
6325	(loop_distribution::transform_reduction_loop): Only do strlen
6326	replacement for integer type reductions.
6327
63282022-06-02  Richard Biener  <rguenther@suse.de>
6329
6330	Backported from master:
6331	2022-05-27  Richard Biener  <rguenther@suse.de>
6332
6333	PR tree-optimization/105726
6334	* gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
6335	Constrain array-of-flexarray case more.
6336
63372022-06-02  Richard Biener  <rguenther@suse.de>
6338
6339	Backported from master:
6340	2022-05-24  Richard Biener  <rguenther@suse.de>
6341
6342	PR middle-end/105711
6343	* expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
6344	and use it.
6345	(extract_bit_field_1): Pass down the mode of op0 to
6346	extract_bit_field_as_subreg.
6347
63482022-06-02  Martin Sebor  <msebor@redhat.com>
6349
6350	Backported from master:
6351	2022-05-24  Martin Sebor  <msebor@redhat.com>
6352		    Richard Biener  <rguenther@suse.de>
6353
6354	PR middle-end/105604
6355	* gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
6356	(get_origin_and_offset_r): Remove null handling.  Handle variable array
6357	sizes.
6358	(get_origin_and_offset): Handle null argument here.  Simplify.
6359	(alias_offset): Update comment.
6360	* pointer-query.cc (field_at_offset): Update comment.  Handle members
6361	of variable-length types.
6362
63632022-06-02  Vineet Gupta  <vineetg@rivosinc.com>
6364
6365	Backported from master:
6366	2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
6367
6368	* config/riscv/riscv.cc: (struct riscv_tune_param): Add
6369	  fmv_cost.
6370	(rocket_tune_info): Add default fmv_cost 8.
6371	(sifive_7_tune_info): Ditto.
6372	(thead_c906_tune_info): Ditto.
6373	(optimize_size_tune_info): Ditto.
6374	(riscv_register_move_cost): Use fmv_cost for int<->fp moves.
6375
63762022-05-30  Martin Jambor  <mjambor@suse.cz>
6377
6378	Backported from master:
6379	2022-05-27  Martin Jambor  <mjambor@suse.cz>
6380
6381	PR ipa/105639
6382	* ipa-prop.cc (propagate_controlled_uses): Check type of the
6383	constant before adding a LOAD reference.
6384
63852022-05-30  Jakub Jelinek  <jakub@redhat.com>
6386
6387	Backported from master:
6388	2022-05-27  Jakub Jelinek  <jakub@redhat.com>
6389
6390	PR sanitizer/105729
6391	* fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
6392	to (X &) z + w if -fsanitize=null during GENERIC folding.
6393
63942022-05-30  Jakub Jelinek  <jakub@redhat.com>
6395
6396	Backported from master:
6397	2022-05-25  Jakub Jelinek  <jakub@redhat.com>
6398
6399	PR sanitizer/105714
6400	* asan.cc (has_stmt_been_instrumented_p): For assignments which
6401	are both stores and loads, return true only if both destination
6402	and source have been instrumented.
6403
64042022-05-30  Jakub Jelinek  <jakub@redhat.com>
6405
6406	Backported from master:
6407	2022-05-19  Jakub Jelinek  <jakub@redhat.com>
6408
6409	PR c/105635
6410	* pointer-query.cc (gimple_parm_array_size): Return NULL if var
6411	doesn't have pointer or reference type.
6412
64132022-05-26  Simon Cook  <simon.cook@embecosm.com>
6414
6415	Backported from master:
6416	2022-05-25  Simon Cook  <simon.cook@embecosm.com>
6417
6418	* config/riscv/arch-canonicalize: Only add mafd extension if
6419	base was rv32/rv64g.
6420
64212022-05-26  Kito Cheng  <kito.cheng@sifive.com>
6422
6423	Backported from master:
6424	2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
6425
6426	* config/riscv/arch-canonicalize: Handle g correctly.
6427
64282022-05-24  Qing Zhao  <qing.zhao@oracle.com>
6429
6430	Backported from master:
6431	2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
6432
6433	PR target/101891
6434	* config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
6435	as a generic MMX mode instead of V4HImode.
6436	(zero_all_mm_registers): Use SET to zero instead of MOV for
6437	zeroing scratch registers.
6438	(ix86_zero_call_used_regs): Likewise.
6439
64402022-05-24  Bruno Haible  <bruno@clisp.org>
6441
6442	Backported from master:
6443	2022-05-24  Bruno Haible  <bruno@clisp.org>
6444
6445	PR other/105527
6446	* doc/install.texi (Configuration): Add more details about --with-zstd.
6447	Document --with-zstd-include and --with-zstd-lib
6448
64492022-05-24  Martin Liska  <mliska@suse.cz>
6450
6451	Backported from master:
6452	2022-05-11  Martin Liska  <mliska@suse.cz>
6453
6454	PR other/105527
6455	* doc/install.texi: Document the configure option --with-zstd.
6456
64572022-05-20  Peter Bergner  <bergner@linux.ibm.com>
6458
6459	Backported from master:
6460	2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
6461		    Segher Boessenkool  <segher@kernel.crashing.org>
6462
6463	PR target/105556
6464	* config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
6465	mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
6466	mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
6467	mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
6468	Update other operands accordingly.
6469
64702022-05-20  Richard Biener  <rguenther@suse.de>
6471
6472	Backported from master:
6473	2022-05-04  Richard Biener  <rguenther@suse.de>
6474
6475	PR tree-optimization/103116
6476	* tree-vect-stmts.cc (get_group_load_store_type): Handle the
6477	case we need peeling for gaps even though GROUP_GAP is zero.
6478
64792022-05-19  Richard Biener  <rguenther@suse.de>
6480
6481	Backported from master:
6482	2022-05-17  Richard Biener  <rguenther@suse.de>
6483
6484	PR tree-optimization/105618
6485	* tree-ssa-sink.cc (statement_sink_location): For virtual
6486	PHI uses ignore those defining the used virtual operand.
6487
64882022-05-19  Richard Biener  <rguenther@suse.de>
6489
6490	Backported from master:
6491	2022-05-12  Richard Biener  <rguenther@suse.de>
6492
6493	PR rtl-optimization/105577
6494	* dse.cc (rest_of_handle_dse): Make sure to purge dead EH
6495	edges before running fast DCE via df_analyze.
6496
64972022-05-19  Richard Biener  <rguenther@suse.de>
6498
6499	Backported from master:
6500	2022-05-12  Richard Biener  <rguenther@suse.de>
6501
6502	PR tree-optimization/105562
6503	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
6504	against all CLOBBER defs if there's not an obvious must-alias
6505	and we are not doing redundant store elimination.
6506	(vn_walk_cb_data::redundant_store_removal_p): New field.
6507	(vn_reference_lookup_pieces): Initialize it.
6508	(vn_reference_lookup): Add argument to specify if we are
6509	doing redundant store removal.
6510	(eliminate_dom_walker::eliminate_stmt): Specify we do.
6511	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
6512
65132022-05-19  Richard Biener  <rguenther@suse.de>
6514
6515	Backported from master:
6516	2022-05-11  Richard Biener  <rguenther@suse.de>
6517
6518	PR rtl-optimization/105559
6519	* cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
6520	for non-debug insns.
6521
65222022-05-19  Richard Biener  <rguenther@suse.de>
6523
6524	Backported from master:
6525	2022-05-10  Richard Biener  <rguenther@suse.de>
6526
6527	PR middle-end/105537
6528	* toplev.cc (process_options): Move flag_var_tracking
6529	handling ...
6530	* opts.cc (finish_options): ... here.
6531
65322022-05-19  Richard Biener  <rguenther@suse.de>
6533
6534	Backported from master:
6535	2022-05-10  Richard Biener  <rguenther@suse.de>
6536
6537	* flags.h (dwarf_debuginfo_p): Add opts argument, guard
6538	API with !GENERATOR_FILE.
6539	* opts.cc (global_options): Poison.
6540	(global_options_set): Likewise.
6541	(finish_options): Refer to options via opts.
6542
65432022-05-19  Richard Biener  <rguenther@suse.de>
6544
6545	Backported from master:
6546	2022-04-29  Richard Biener  <rguenther@suse.de>
6547
6548	PR tree-optimization/105431
6549	* tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
6550	(powi_as_mults): Use absu_hwi.
6551	(gimple_expand_builtin_powi): Remove now pointless n != -n
6552	check.
6553
65542022-05-18  Andrew MacLeod  <amacleod@redhat.com>
6555
6556	PR tree-optimization/105458
6557	* value-relation.cc (path_oracle::register_relation): Merge, then check
6558	for equivalence.
6559
65602022-05-16  Sebastian Pop  <spop@amazon.com>
6561
6562	PR target/105162
6563	* config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
6564	of str array.
6565	* config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
6566	memmodel_from_int and handle MEMMODEL_SYNC_*.
6567	(DEF0): Add __aarch64_*_sync functions.
6568
65692022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
6570
6571	* dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
6572	instead of a bitwise negation.
6573	<COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
6574
65752022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
6576
6577	* tree-sra.cc (sra_modify_assign): Check that scalar storage order
6578	is the same on the LHS and RHS before rewriting one with the model
6579	of the other.
6580
65812022-05-13  Alexandre Oliva  <oliva@adacore.com>
6582
6583	Backported from master:
6584	2022-05-13  Alexandre Oliva  <oliva@adacore.com>
6585
6586	PR rtl-optimization/105455
6587	* gimple-harden-conditionals.cc (insert_check_and_trap): Set
6588	probabilities for newly-conditional edges.
6589
65902022-05-11  Martin Jambor  <mjambor@suse.cz>
6591
6592	Backported from master:
6593	2022-04-29  Martin Jambor  <mjambor@suse.cz>
6594
6595	PR ipa/100413
6596	* cgraph.cc (cgraph_node::remove): Release body of the node this
6597	is clone_of if appropriate.
6598
65992022-05-10  Jakub Jelinek  <jakub@redhat.com>
6600
6601	Backported from master:
6602	2022-05-10  Jakub Jelinek  <jakub@redhat.com>
6603
6604	PR tree-optimization/105528
6605	* gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
6606	set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
6607
66082022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
6609
6610	PR target/105292
6611	* config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
6612	true only for 8-byte vector modes.
6613
66142022-05-06  Michael Meissner  <meissner@linux.ibm.com>
6615
6616	Backported from master:
6617	2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
6618
6619	PR target/102059
6620	* config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
6621	and -mpower10-fusion options for inlining purposes.
6622
66232022-05-06  Richard Biener  <rguenther@suse.de>
6624
6625	Backported from master:
6626	2022-04-29  Richard Biener  <rguenther@suse.de>
6627
6628	PR middle-end/105376
6629	* tree.cc (build_real): Special case dconst* arguments
6630	for decimal floating point types.
6631
66322022-05-06  Richard Biener  <rguenther@suse.de>
6633
6634	Backported from master:
6635	2022-05-05  Richard Biener  <rguenther@suse.de>
6636
6637	PR tree-optimization/105484
6638	* gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
6639	whether the CFG changed.
6640	(gimple_expand_vec_exprs): When the CFG changed, clean it up.
6641
66422022-05-06  Richard Biener  <rguenther@suse.de>
6643
6644	Backported from master:
6645	2022-05-03  Richard Biener  <rguenther@suse.de>
6646
6647	PR middle-end/105461
6648	* opts.cc (finish_options): Match the condition to
6649	disable flag_var_tracking to that of process_options.
6650
66512022-05-06  Richard Biener  <rguenther@suse.de>
6652
6653	Backported from master:
6654	2022-05-03  Richard Biener  <rguenther@suse.de>
6655
6656	* opts.cc: #undef OPTIONS_SET_P.
6657	(finish_options): Use opts_set instead of OPTIONS_SET_P.
6658
66592022-05-06  Richard Biener  <rguenther@suse.de>
6660
6661	Backported from master:
6662	2022-05-02  Richard Biener  <rguenther@suse.de>
6663
6664	PR tree-optimization/105437
6665	* tree-vect-slp.cc (vect_schedule_slp_node): Handle the
6666	case where last_stmt alters control flow.
6667
66682022-05-06  Richard Biener  <rguenther@suse.de>
6669
6670	Backported from master:
6671	2022-05-03  Richard Biener  <rguenther@suse.de>
6672
6673	PR tree-optimization/105394
6674	* tree-vect-generic.cc (expand_vector_condition): Adjust
6675	comp_width for non-integer mode masks as well.
6676
66772022-05-06  Release Manager
6678
6679	* GCC 12.1.0 released.
6680
66812022-05-02  Jakub Jelinek  <jakub@redhat.com>
6682
6683	Backported from master:
6684	2022-05-02  Jakub Jelinek  <jakub@redhat.com>
6685
6686	* system.h: Include initializer_list.
6687
66882022-04-28  Jakub Jelinek  <jakub@redhat.com>
6689
6690	PR lto/105399
6691	* cgraph.cc (cgraph_node::verify_node): Don't verify
6692	semantic_interposition flag against
6693	opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
6694
66952022-04-28  Jakub Jelinek  <jakub@redhat.com>
6696
6697	PR target/105331
6698	* config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
6699	temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
6700	of it.
6701
67022022-04-28  Jonathan Wakely  <jwakely@redhat.com>
6703
6704	* doc/install.texi (Configuration): Remove misleading text
6705	around LE PowerPC Linux multilibs.
6706
67072022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6708
6709	PR d/103528
6710	* doc/install.texi (Tools/packages necessary for building GCC)
6711	(GDC): Document libphobos requirement.
6712	(Host/target specific installation notes for GCC, *-*-solaris2*):
6713	Document libphobos and GDC specifics.
6714
67152022-04-28  Richard Biener  <rguenther@suse.de>
6716
6717	PR tree-optimization/105219
6718	* tree-vect-loop.cc (vect_transform_loop): Disable
6719	special code narrowing the vectorized epilogue max
6720	iterations when peeling for alignment or gaps was in effect.
6721
67222022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
6723
6724	* config/loongarch/loongarch.cc
6725	(loongarch_flatten_aggregate_field): Ignore empty fields for
6726	RECORD_TYPE.
6727
67282022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
6729
6730	* config/loongarch/loongarch.md: Add fdiv define_expand template,
6731	then generate floating-point division and floating-point reciprocal
6732	instructions.
6733
67342022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
6735
6736	* config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
6737	to PLV instruction templates.
6738
67392022-04-27  Richard Biener  <rguenther@suse.de>
6740
6741	PR middle-end/104492
6742	* gimple-ssa-warn-access.cc
6743	(pass_waccess::warn_invalid_pointer): Exclude equality compare
6744	diagnostics for all kind of invalidations.
6745	(pass_waccess::check_dangling_uses): Fix post-dominator query.
6746	(pass_waccess::check_pointer_uses): Likewise.
6747
67482022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
6749
6750	PR target/102024
6751	* config/s390/s390-protos.h (s390_function_arg_vector): Remove
6752	prototype.
6753	* config/s390/s390.cc (s390_single_field_struct_p): New function.
6754	(s390_function_arg_vector): Invoke s390_single_field_struct_p.
6755	(s390_function_arg_float): Likewise.
6756
67572022-04-27  Jakub Jelinek  <jakub@redhat.com>
6758
6759	PR sanitizer/105396
6760	* asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
6761	where offset is bigger than off but smaller than m_prev_offset + 32
6762	bits by pushing one or more 0 bytes.  Sink the
6763	m_shadow_bytes.safe_push (value); flush_if_full (); statements from
6764	all cases to the end of the function.
6765
67662022-04-27  Kewen Lin  <linkw@linux.ibm.com>
6767
6768	PR target/105271
6769	* config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
6770	stanza.
6771
67722022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6773
6774	* config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
6775	data-share memory exhausted" error more verbose.
6776
67772022-04-26  Martin Liska  <mliska@suse.cz>
6778
6779	PR lto/105364
6780	* lto-wrapper.cc (print_lto_docs_link): Use global_dc.
6781	(run_gcc): Parse OPT_fdiagnostics_urls_.
6782	(main): Initialize global_dc.
6783
67842022-04-26  Jakub Jelinek  <jakub@redhat.com>
6785
6786	PR rtl-optimization/105314
6787	* ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
6788	operand is equal to if_info->x, instead use the non-zero operand
6789	as one of the operands of AND with if_info->x as target.
6790
67912022-04-26  Jakub Jelinek  <jakub@redhat.com>
6792
6793	PR tree-optimization/105374
6794	* tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
6795	!fold_convertible_p rather than assuming fold_convert must succeed.
6796
67972022-04-26  Jakub Jelinek  <jakub@redhat.com>
6798
6799	PR target/105367
6800	* config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
6801	el_mode == DFmode ? double_type_node : float_type_node instead of
6802	TREE_TYPE (type_in) as first arguments to mathfn_built_in.
6803
68042022-04-25  David Malcolm  <dmalcolm@redhat.com>
6805
6806	PR analyzer/104308
6807	* gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
6808	the location of new_stmt in all places that don't already set it,
6809	whether explicitly, or via a call to gsi_replace.
6810
68112022-04-25  Paul A. Clarke  <pc@us.ibm.com>
6812
6813	* doc/extend.texi (Other Builtins): Correct reference to 'modff'.
6814
68152022-04-25  Andrew MacLeod  <amacleod@redhat.com>
6816
6817	PR tree-optimization/105276
6818	* gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
6819	existing global range with calculated value.
6820
68212022-04-25  Richard Biener  <rguenther@suse.de>
6822
6823	PR tree-optimization/105368
6824	* tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
6825
68262022-04-25  Richard Biener  <rguenther@suse.de>
6827
6828	PR tree-optimization/100810
6829	* tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
6830	(find_ssa_undef): New function.
6831	(add_candidate_1): Avoid adding derived candidates with
6832	undefined SSA names and mark the original ones.
6833	(determine_group_iv_cost_generic): Reject rewriting
6834	uses with a different IV when that involves undefined SSA names.
6835
68362022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
6837
6838	PR target/89125
6839	* config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
6840	bsd_libc_has_function.
6841	* targhooks.cc (bsd_libc_has_function): New function.
6842	Expand the supported math functions to inclue C99 libm.
6843	* targhooks.h (bsd_libc_has_function): New Prototype.
6844
68452022-04-25  Richard Biener  <rguenther@suse.de>
6846
6847	PR rtl-optimization/105231
6848	* combine.cc (distribute_notes): Assert that a REG_EH_REGION
6849	with landing pad > 0 is from i3.  Put any REG_EH_REGION note
6850	on i3 or drop it if the insn can not trap.
6851	(try_combine): Ensure that we can merge REG_EH_REGION notes
6852	with non-call exceptions.  Ensure we are not splitting a
6853	trapping part of an insn with non-call exceptions when there
6854	is any REG_EH_REGION note to preserve.
6855
68562022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
6857
6858	PR target/105339
6859	* config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
6860	Add parentheses for parameters and djust format.
6861	(_mm512_mask_scalef_round_pd): Ditto.
6862	(_mm512_maskz_scalef_round_pd): Ditto.
6863	(_mm512_scalef_round_ps): Ditto.
6864	(_mm512_mask_scalef_round_ps): Ditto.
6865	(_mm512_maskz_scalef_round_ps): Ditto.
6866	(_mm_scalef_round_sd): Use _mm_undefined_pd.
6867	(_mm_scalef_round_ss): Use _mm_undefined_ps.
6868	(_mm_mask_scalef_round_sd): New macro.
6869	(_mm_mask_scalef_round_ss): Ditto.
6870	(_mm_maskz_scalef_round_sd): Ditto.
6871	(_mm_maskz_scalef_round_ss): Ditto.
6872
68732022-04-23  Jakub Jelinek  <jakub@redhat.com>
6874
6875	PR target/105338
6876	* config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
6877	op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
6878	cases.
6879
68802022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
6881
6882	PR target/105334
6883	* config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
6884	(pack<mode> for FMOVE128): Rename and split the insn_and_split to...
6885	(pack<mode>_hard for FMOVE128): ... this...
6886	(pack<mode>_soft for FMOVE128): ... and this.
6887
68882022-04-22  Paul A. Clarke  <pc@us.ibm.com>
6889
6890	* doc/extend.texi: Correct "This" to "These".
6891
68922022-04-22  Jakub Jelinek  <jakub@redhat.com>
6893
6894	PR rtl-optimization/105333
6895	* rtlanal.cc (replace_rtx): Use simplify_subreg or
6896	simplify_unary_operation if CONST_SCALAR_INT_P rather than just
6897	CONST_INT_P.
6898
68992022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
6900
6901	PR target/103197
6902	PR target/102146
6903	* config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
6904	the "Z" alternatives in {l,st}{f,xs}iwzx.
6905	(zero_extendhi<mode>2 for EXTHI): Ditto.
6906	(zero_extendsi<mode>2 for EXTSI): Ditto.
6907	(*movsi_internal1): Ditto.
6908	(*mov<mode>_internal1 for QHI): Ditto.
6909	(movsd_hardfloat): Ditto.
6910
69112022-04-21  Martin Liska  <mliska@suse.cz>
6912
6913	* configure.ac: Enable compressed debug sections for mold
6914	linker.
6915	* configure: Regenerate.
6916
69172022-04-21  Jakub Jelinek  <jakub@redhat.com>
6918
6919	PR debug/105203
6920	* emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
6921	on DEBUG_INSNs.
6922
69232022-04-20  Richard Biener  <rguenther@suse.de>
6924
6925	PR tree-optimization/104912
6926	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
6927	the cost model check to a separate BB to make sure it is
6928	checked first and not combined with other version checks.
6929
69302022-04-20  Richard Biener  <rguenther@suse.de>
6931
6932	PR tree-optimization/105312
6933	* gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
6934	VCOND and VCONDU for EQ and NE.
6935
69362022-04-20  Jan Hubicka  <hubicka@ucw.cz>
6937
6938	PR ipa/103818
6939	* ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
6940	poly_offset_int to avoid overflow.
6941	(modref_access_node::update2): likewise.
6942
69432022-04-20  Jakub Jelinek  <jakub@redhat.com>
6944
6945	PR ipa/105306
6946	* cgraph.cc (cgraph_node::create): Set node->semantic_interposition
6947	to opt_for_fn (decl, flag_semantic_interposition).
6948	* cgraphclones.cc (cgraph_node::create_clone): Copy over
6949	semantic_interposition flag.
6950
69512022-04-19  Sergei Trofimovich  <siarheit@google.com>
6952
6953	PR gcov-profile/105282
6954	* value-prof.cc (stream_out_histogram_value): Allow negative counts
6955	on HIST_TYPE_INDIR_CALL.
6956
69572022-04-19  Jakub Jelinek  <jakub@redhat.com>
6958
6959	PR target/105257
6960	* config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
6961	use gen_raw_REG instead of gen_rtx_REG and copy over also
6962	ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
6963
69642022-04-19  Richard Biener  <rguenther@suse.de>
6965
6966	PR tree-optimization/104010
6967	PR tree-optimization/103941
6968	* tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
6969	we run into stmts in patterns continue walking those
6970	for uses outside of the vectorized region instead of
6971	marking the lane live.
6972
69732022-04-18  Hans-Peter Nilsson  <hp@axis.com>
6974
6975	* doc/install.texi <CRIS>: Remove references to removed websites and
6976	adjust for cris-*-elf being the only remaining toolchain.
6977
69782022-04-18  Hans-Peter Nilsson  <hp@axis.com>
6979
6980	* doc/invoke.texi <CRIS>: Remove references to options for removed
6981	subtarget cris-axis-linux-gnu and tweak wording accordingly.
6982
69832022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
6984
6985	* doc/install.texi (Specific): Adjust mingw-w64 download link.
6986
69872022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
6988
6989	* config/i386/smmintrin.h: Correct target pragma from sse4.1
6990	and sse4.2 to crc32 for crc32 intrinsics.
6991
69922022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
6993
6994	PR debug/105089
6995	* ctfc.cc (ctf_dvd_ignore_insert): New function.
6996	(ctf_dvd_ignore_lookup): Likewise.
6997	(ctf_add_variable): Keep track of non-defining decl DIEs.
6998	(new_ctf_container): Initialize the new hash-table.
6999	(ctfc_delete_container): Empty hash-table.
7000	* ctfc.h (struct ctf_container): Add new hash-table.
7001	(ctf_dvd_ignore_lookup): New declaration.
7002	(ctf_add_variable): Add additional argument.
7003	* ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
7004	record for non-defining decl for which a defining decl exists
7005	in the same TU.
7006	(ctf_preprocess): Defer updating the number of global objts
7007	until here.
7008	(output_ctf_header): Use ctfc_vars_list_count as some CTF
7009	variables may not make it to the final output.
7010	(output_ctf_vars): Likewise.
7011	* dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
7012	if this is known to be a non-defining decl DIE.
7013
70142022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
7015
7016	* ctfc.h (struct ctf_container): Introduce a new member.
7017	* ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
7018	variable.
7019
70202022-04-14  Jakub Jelinek  <jakub@redhat.com>
7021
7022	PR target/105247
7023	* simplify-rtx.cc (simplify_const_binary_operation): For shifts
7024	or rotates by VOIDmode constant integer shift count use word_mode
7025	for the operand if int_mode is narrower than word.
7026
70272022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
7028
7029	* config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
7030	(s390_get_unit_mask): Likewise.
7031	(s390_is_fpd): Likewise.
7032	(s390_is_fxd): Likewise.
7033	* config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
7034	* config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
7035	Add z16.
7036	(z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
7037	Likewise.
7038	* config/s390/3931.md: New file.
7039
70402022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
7041
7042	PR tree-optimization/105254
7043	* config/aarch64/aarch64.cc
7044	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
7045	loop_vec_info as argument.  Restrict the unroll factor to values
7046	that divide the VF.
7047	(aarch64_vector_costs::finish_cost): Update call accordingly.
7048
70492022-04-13  Richard Biener  <rguenther@suse.de>
7050
7051	PR tree-optimization/105263
7052	* tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
7053	negates in multiplication chains with DFP.
7054
70552022-04-13  Jakub Jelinek  <jakub@redhat.com>
7056
7057	PR middle-end/105253
7058	* tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
7059	use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
7060	comparisons or tree_nop_conversion_p checks.
7061
70622022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
7063
7064	PR target/103069
7065	* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
7066	  Add missing set to target_val at pause label.
7067
70682022-04-13  Jakub Jelinek  <jakub@redhat.com>
7069
7070	PR target/105234
7071	* attribs.cc (decl_attributes): Don't set
7072	DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
7073	NULL.
7074
70752022-04-13  Richard Biener  <rguenther@suse.de>
7076
7077	PR tree-optimization/105250
7078	* fold-const.cc (fold_convertible_p): Revert
7079	r12-7979-geaaf77dd85c333, instead check for size equality
7080	of the vector types involved.
7081
70822022-04-13  Richard Biener  <rguenther@suse.de>
7083
7084	Revert:
7085	2022-04-13  Richard Biener  <rguenther@suse.de>
7086
7087	PR tree-optimization/104912
7088	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
7089	the cost model check to a separate BB to make sure it is
7090	checked first and not combined with other version checks.
7091
70922022-04-13  Richard Biener  <rguenther@suse.de>
7093
7094	PR tree-optimization/104912
7095	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
7096	the cost model check to a separate BB to make sure it is
7097	checked first and not combined with other version checks.
7098
70992022-04-13  Jakub Jelinek  <jakub@redhat.com>
7100
7101	* tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
7102
71032022-04-12  Antoni Boucher  <bouanto@zoho.com>
7104
7105	PR jit/104072
7106	* reginfo.cc: New functions (clear_global_regs_cache,
7107	reginfo_cc_finalize) to avoid an issue where compiling the same
7108	code multiple times gives an error about assigning the same
7109	register to 2 global variables.
7110	* rtl.h: New function (reginfo_cc_finalize).
7111	* toplev.cc: Call it.
7112
71132022-04-12  Antoni Boucher  <bouanto@zoho.com>
7114
7115	PR jit/104071
7116	* toplev.cc: Call the new function tree_cc_finalize in
7117	toplev::finalize.
7118	* tree.cc: New functions (clear_nonstandard_integer_type_cache
7119	and tree_cc_finalize) to clear the cache of non-standard integer
7120	types to avoid having issues with some optimizations of
7121	bitcast where the SSA_NAME will have a size of a cached
7122	integer type that should have been invalidated, causing a
7123	comparison of integer constant to fail.
7124	* tree.h: New function (tree_cc_finalize).
7125
71262022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7127
7128	PR target/97348
7129	* config/nvptx/nvptx.h (ASM_SPEC): Don't set.
7130	* config/nvptx/nvptx.opt (misa): Adjust comment.
7131
71322022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7133
7134	Revert:
7135	2022-03-03  Tom de Vries  <tdevries@suse.de>
7136
7137	* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
7138
71392022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7140
7141	Revert:
7142	2022-03-31  Tom de Vries  <tdevries@suse.de>
7143
7144	* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
7145
71462022-04-12  Richard Biener  <rguenther@suse.de>
7147
7148	PR ipa/104303
7149	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
7150	include local escaped memory as obviously necessary stores.
7151
71522022-04-12  Richard Biener  <rguenther@suse.de>
7153
7154	PR tree-optimization/105235
7155	* tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
7156	return whether the CFG changed.
7157	(execute_cse_sincos_1): Adjust.
7158
71592022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
7160
7161	PR target/104144
7162	* config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
7163	(MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
7164	(MULTILIB_REQUIRED): Don't require Armv9-a libraries.
7165	(MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
7166	(MULTILIB_REUSE): Remove remap rules for Armv9-a.
7167	* config/arm/t-multilib (v9_a_nosimd_variants): Delete.
7168	(MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
7169
71702022-04-12  Richard Biener  <rguenther@suse.de>
7171
7172	PR tree-optimization/105232
7173	* tree.cc (component_ref_size): Bail out for too large
7174	or non-constant sizes.
7175
71762022-04-12  Richard Biener  <rguenther@suse.de>
7177
7178	PR tree-optimization/105226
7179	* tree-vect-loop-manip.cc (vect_loop_versioning): Verify
7180	we can split the exit of an outer loop we choose to version.
7181
71822022-04-12  Jakub Jelinek  <jakub@redhat.com>
7183
7184	* config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
7185	ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
7186	ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
7187	ix86_emit_swdivsf, ix86_emit_swsqrtsf,
7188	ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
7189	Formatting fix.
7190	* config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
7191
71922022-04-12  Jakub Jelinek  <jakub@redhat.com>
7193
7194	PR target/105214
7195	* config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
7196	do_pending_stack_adjust.
7197
71982022-04-12  Jakub Jelinek  <jakub@redhat.com>
7199
7200	PR rtl-optimization/105211
7201	* builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
7202	fails for TREE_TYPE (arg), retry it with
7203	TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
7204	fails, emit call normally.
7205
72062022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
7207
7208	* common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
7209	* config.gcc: Add z16 as march/mtune switch.
7210	* config/s390/driver-native.cc (s390_host_detect_local_cpu):
7211	Recognize z16 with -march=native.
7212	* config/s390/s390-opts.h (enum processor_type): Rename
7213	PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
7214	* config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
7215	(PROCESSOR_3931_Z16): ... throughout the file.
7216	(s390_processor processor_table): Add z16 as cpu string.
7217	* config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
7218	PF_Z16.
7219	(TARGET_CPU_ARCH14): Rename to ...
7220	(TARGET_CPU_Z16): ... this.
7221	(TARGET_CPU_ARCH14_P): Rename to ...
7222	(TARGET_CPU_Z16_P): ... this.
7223	(TARGET_ARCH14): Rename to ...
7224	(TARGET_Z16): ... this.
7225	(TARGET_ARCH14_P): Rename to ...
7226	(TARGET_Z16_P): ... this.
7227	* config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
7228	check TARGET_Z16 instead of TARGET_ARCH14.
7229	* config/s390/s390.opt: Add z16 to processor_type.
7230	* doc/invoke.texi: Document z16 and arch14.
7231
72322022-04-12  chenglulu  <chenglulu@loongson.cn>
7233
7234	* config/loongarch/loongarch.cc: Fix bug for
7235	tmpdir-g++.dg-struct-layout-1/t033.
7236
72372022-04-11  Peter Bergner  <bergner@linux.ibm.com>
7238
7239	PR target/104894
7240	* config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
7241	to longcall functions.
7242
72432022-04-11  Jason Merrill  <jason@redhat.com>
7244
7245	* ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
7246
72472022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
7248
7249	PR target/105213
7250	PR target/103623
7251	* config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
7252
72532022-04-11  Jakub Jelinek  <jakub@redhat.com>
7254
7255	PR tree-optimization/105218
7256	* tree-ssa-phiopt.cc (value_replacement): If middle_bb has
7257	more than one predecessor or phi's bb more than 2 predecessors,
7258	reset phi result uses instead of adding a debug temp.
7259
72602022-04-11  Kito Cheng  <kito.cheng@sifive.com>
7261
7262	PR target/104853
7263	* config.gcc: Pass -misa-spec to arch-canonicalize and
7264	multilib-generator.
7265	* config/riscv/arch-canonicalize: Adding -misa-spec option.
7266	(SUPPORTED_ISA_SPEC): New.
7267	(arch_canonicalize): New argument `isa_spec`.
7268	Handle multiple ISA spec versions.
7269	* config/riscv/multilib-generator: Adding -misa-spec option.
7270
72712022-04-11  Kito Cheng  <kito.cheng@sifive.com>
7272
7273	* config/riscv/arch-canonicalize: Add TODO item.
7274	(IMPLIED_EXT): Sync.
7275	(arch_canonicalize): Checking until no change.
7276
72772022-04-11  Tamar Christina  <tamar.christina@arm.com>
7278
7279	PR target/105197
7280	* tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
7281	not masked.
7282
72832022-04-11  Jason Merrill  <jason@redhat.com>
7284
7285	PR c++/100370
7286	* pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
7287	deref == -1.
7288
72892022-04-11  Jakub Jelinek  <jakub@redhat.com>
7290
7291	PR tree-optimization/104639
7292	* tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
7293	(value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
7294	into x != cst3.
7295
72962022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
7297
7298	* config/bfin/bfin.md (rol_one): Fix pattern to indicate the
7299	sign bit of the source ends up in CC.
7300
73012022-04-09  Jan Hubicka  <hubicka@ucw.cz>
7302
7303	PR ipa/103376
7304	* cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
7305	flag.
7306
73072022-04-09  Jan Hubicka  <hubicka@ucw.cz>
7308
7309	* ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
7310	nondeterministic and side_effects flags.
7311
73122022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7313
7314	PR target/105157
7315	* config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
7316	* config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
7317	(TARGET_CPU_MASK): Likewise.
7318	(TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
7319	* config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
7320	(aarch64_get_arch): Likewise.
7321	(aarch64_override_options): Use TARGET_CPU_NBITS.
7322
73232022-04-08  Richard Biener  <rguenther@suse.de>
7324
7325	PR tree-optimization/105198
7326	* tree-predcom.cc (find_looparound_phi): Check whether
7327	the found memory location of the entry value is clobbered
7328	inbetween the value we want to use and loop entry.
7329
73302022-04-08  Jakub Jelinek  <jakub@redhat.com>
7331
7332	PR tree-optimization/105189
7333	* fold-const.cc (make_range_step): Fix up handling of
7334	(unsigned) x +[low, -] ranges for signed x if low fits into
7335	typeof (x).
7336
73372022-04-08  Richard Biener  <rguenther@suse.de>
7338
7339	PR tree-optimization/105175
7340	* tree-vect-stmts.cc (vectorizable_operation): Suppress
7341	-Wvector-operation-performance if using emulated vectors.
7342	* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
7343	-Wvector-operation-performance when suppressed.
7344	(expand_vector_parallel): Likewise.
7345	(expand_vector_comparison): Likewise.
7346	(expand_vector_condition): Likewise.
7347	(lower_vec_perm): Likewise.
7348	(expand_vector_conversion): Likewise.
7349
73502022-04-07  Tamar Christina  <tamar.christina@arm.com>
7351
7352	PR target/104409
7353	* config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
7354	(aarch64_general_init_builtins): Move LS64 code.
7355	* config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
7356	arm_acle.h
7357	* config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
7358	* config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
7359
73602022-04-07  Richard Biener  <rguenther@suse.de>
7361	    Jan Hubicka  <hubicka@ucw.cz>
7362
7363	PR ipa/104303
7364	* tree-ssa-alias.h (ptr_deref_may_alias_global_p,
7365	ref_may_alias_global_p, ref_may_alias_global_p,
7366	stmt_may_clobber_global_p, pt_solution_includes_global): Add
7367	bool parameters indicating whether escaped locals should be
7368	considered global.
7369	* tree-ssa-structalias.cc (pt_solution_includes_global):
7370	When the new escaped_nonlocal_p flag is true also consider
7371	pt->vars_contains_escaped.
7372	* tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
7373	Pass down new escaped_nonlocal_p flag.
7374	(ref_may_alias_global_p): Likewise.
7375	(stmt_may_clobber_global_p): Likewise.
7376	(ref_may_alias_global_p_1): Likewise.  For decls also
7377	query the escaped solution if true.
7378	(ref_may_access_global_memory_p): Remove.
7379	(modref_may_conflict): Use ref_may_alias_global_p with
7380	escaped locals considered global.
7381	(ref_maybe_used_by_stmt_p): Adjust.
7382	* ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
7383	Likewise.
7384	* tree-ssa-dse.cc (dse_classify_store): Likewise.
7385	* trans-mem.cc (thread_private_new_memory): Likewise, but
7386	consider escaped locals global.
7387	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
7388
73892022-04-07  Richard Biener  <rguenther@suse.de>
7390
7391	PR tree-optimization/105185
7392	* tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
7393	modref query again.
7394
73952022-04-07  Tamar Christina  <tamar.christina@arm.com>
7396
7397	PR target/104049
7398	* config/aarch64/aarch64-simd.md
7399	(aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
7400	(reduc_plus_scal_<mode>): ... This.
7401	(reduc_plus_scal_v4sf): Moved.
7402	(aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
7403	(reduc_plus_scal_v2si): ... This.
7404
74052022-04-07  Jakub Jelinek  <jakub@redhat.com>
7406
7407	PR tree-optimization/102586
7408	* langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
7409	langhook.
7410	* langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
7411	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
7412	* gimple-fold.cc (clear_padding_type): Use ftype instead of
7413	TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
7414	name try the lang_hooks.types.classtype_as_base langhook and
7415	if it returns non-NULL, use that instead of ftype for recursive call.
7416
74172022-04-07  Jakub Jelinek  <jakub@redhat.com>
7418
7419	PR tree-optimization/105150
7420	* tree.cc (tree_builtin_call_types_compatible_p): New function.
7421	(get_call_combined_fn): Use it.
7422
74232022-04-07  Richard Biener  <rguenther@suse.de>
7424
7425	PR middle-end/105165
7426	* tree-complex.cc (expand_complex_asm): Sorry for asm goto
7427	_Complex outputs.
7428
74292022-04-07  liuhongt  <hongtao.liu@intel.com>
7430
7431	* config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
7432	Removed.
7433	(<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
7434	for mask_applied.
7435	(<code><mode>3<mask_name>): Ditto.
7436	(*<code><mode>3<mask_name>): Ditto.
7437	(VFB_128_256): Adjust condition of V8HF/V16HFmode according to
7438	real instruction.
7439	(VFB_512): Ditto.
7440	(VFB): Ditto.
7441
74422022-04-06  Jakub Jelinek  <jakub@redhat.com>
7443
7444	PR rtl-optimization/104985
7445	* combine.cc (struct undo): Add where.regno member.
7446	(do_SUBST_MODE): Rename to ...
7447	(subst_mode): ... this.  Change first argument from rtx * into int,
7448	operate on regno_reg_rtx[regno] and save regno into where.regno.
7449	(SUBST_MODE): Remove.
7450	(try_combine): Use subst_mode instead of SUBST_MODE, change first
7451	argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
7452	regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
7453	(undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
7454	instead of *undo->where.r.
7455	(simplify_set): Use subst_mode instead of SUBST_MODE, change first
7456	argument from regno_reg_rtx[whatever] to whatever.
7457
74582022-04-06  Jakub Jelinek  <jakub@redhat.com>
7459
7460	PR target/105069
7461	* config/sh/sh.opt (mdiv=): Add Save.
7462
74632022-04-06  Martin Liska  <mliska@suse.cz>
7464
7465	PR driver/105096
7466	* common.opt: Document properly based on what it does.
7467	* gcc.cc (display_help): Unify with what we have in common.opt.
7468	* opts.cc (common_handle_option): Do not print undocumented
7469	options.
7470
74712022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
7472
7473	* config/mips/mips.cc (mips_fpr_return_fields): Ignore
7474	cxx17_empty_base_field_p fields and set an indicator.
7475	(mips_return_in_msb): Adjust for mips_fpr_return_fields change.
7476	(mips_function_value_1): Inform psABI change about C++17 empty
7477	bases.
7478
74792022-04-06  Jakub Jelinek  <jakub@redhat.com>
7480
7481	PR tree-optimization/105150
7482	* gimple.cc (gimple_builtin_call_types_compatible_p): Use
7483	builtin_decl_explicit here...
7484	(gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
7485	here.
7486
74872022-04-06  Richard Biener  <rguenther@suse.de>
7488
7489	PR tree-optimization/105173
7490	* tree-ssa-reassoc.cc (find_insert_point): Get extra
7491	insert_before output argument and compute it.
7492	(insert_stmt_before_use): Adjust.
7493	(rewrite_expr_tree): Likewise.
7494
74952022-04-06  Richard Biener  <rguenther@suse.de>
7496
7497	PR ipa/105166
7498	* ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
7499	out for non-pointer arguments.
7500
75012022-04-06  Richard Biener  <rguenther@suse.de>
7502
7503	PR tree-optimization/105163
7504	* tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
7505	negated abnormals.
7506
75072022-04-06  Jakub Jelinek  <jakub@redhat.com>
7508
7509	PR tree-optimization/105150
7510	* gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
7511	For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
7512	preferrably on builtin_decl_explicit decl rather than fndecl.
7513	* tree-ssa-strlen.cc (valid_builtin_call): Don't call
7514	gimple_builtin_call_types_compatible_p here.
7515
75162022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
7517
7518	PR tree-optimization/103761
7519	* tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
7520	the ncopies parameter with an slp_node parameter.  Calculate the
7521	number of vectors based on it and vectype.  Rename lambda to
7522	group_memory_nvectors.
7523	(vectorizable_store, vectorizable_load): Update calls accordingly.
7524
75252022-04-06  Martin Liska  <mliska@suse.cz>
7526
7527	* doc/invoke.texi: Document it.
7528
75292022-04-06  Richard Biener  <rguenther@suse.de>
7530
7531	PR tree-optimization/105148
7532	* tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
7533	2 and 3 of ARRAY_REFs.
7534
75352022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
7536
7537	* config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
7538	(*andnottf3): Replace with...
7539	(*andnot<mode>3): New define_insn using ANDNOT_MODE.
7540
75412022-04-06  Richard Biener  <rguenther@suse.de>
7542
7543	PR tree-optimization/105142
7544	* gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
7545	basic-block parameter.
7546	(maybe_fold_or_comparisons): Likewise.
7547	* gimple-fold.cc (follow_outer_ssa_edges): New.
7548	(maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
7549	when an outer condition basic-block is specified.
7550	(and_comparisons_1, and_var_with_comparison,
7551	and_var_with_comparison_1, or_comparisons_1,
7552	or_var_with_comparison, or_var_with_comparison_1): Receive and pass
7553	down the outer condition basic-block.
7554	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
7555	basic-block of the outer condition.
7556
75572022-04-06  Kewen Lin  <linkw@linux.ibm.com>
7558
7559	PR target/105002
7560	* config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
7561	comparison codes UNLT/UNLE/UNGT/UNGE.
7562
75632022-04-05  David Malcolm  <dmalcolm@redhat.com>
7564
7565	* doc/extend.texi (Common Function Attributes): Document that
7566	'access' does not imply 'nonnull'.
7567
75682022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
7569
7570	PR target/105139
7571	* config/i386/mmx.md (*movv2qi_internal):
7572	Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
7573
75742022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
7575
7576	* config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
7577	define_expand and turn operands 0 and 1 from REGs to MEMs.
7578	(*aarch64_cpymemdi): New pattern.
7579	(aarch64_setmemdi): Turn into a define_expand and turn operand 0
7580	from a REG to a MEM.
7581	(*aarch64_setmemdi): New pattern.
7582	* config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
7583	copy_to_mode_reg on all three registers.  Replace the original
7584	MEM addresses rather than creating wild reads and writes.
7585	(aarch64_expand_setmem_mops): Likewise for the size and for the
7586	destination memory and address.
7587
75882022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
7589
7590	PR target/103147
7591	* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
7592	* config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
7593	from aarch64_simd_switcher.
7594	* config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
7595	New variable.
7596	(aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
7597	(register_tuple_type): Add more asserts.  Expect the alignment
7598	of the structure to be subject to flag_pack_struct and
7599	maximum_field_alignment.  Set aarch64_simd_tuple_modes.
7600	(aarch64_simd_switcher::aarch64_simd_switcher): New function.
7601	(aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
7602	(handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
7603	(aarch64_general_init_builtins): Hold an aarch64_simd_switcher
7604	while calling aarch64_init_simd_builtins.
7605	* config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
7606	(sve_switcher::~sve_switcher): Remove code now performed by
7607	aarch64_simd_switcher.
7608
76092022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
7610
7611	PR target/104897
7612	* config/aarch64/aarch64-sve-builtins.cc
7613	(function_resolver::infer_vector_or_tuple_type): Use error_n
7614	for "%d vectors" messages.
7615
76162022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
7617
7618	* omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
7619	argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
7620	current clause.
7621
76222022-04-05  Richard Biener  <rguenther@suse.de>
7623
7624	PR c/105151
7625	* passes.def (pass_walloca): Move early instance into
7626	pass_build_ssa_passes to make SSA form available.
7627
76282022-04-05  liuhongt  <hongtao.liu@intel.com>
7629
7630	PR target/101908
7631	* config/i386/i386.cc (ix86_split_stlf_stall_load): New
7632	function
7633	(ix86_reorg): Call ix86_split_stlf_stall_load.
7634	* config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
7635	param.
7636
76372022-04-05  Alexandre Oliva  <oliva@adacore.com>
7638
7639	* targhooks.cc (default_zero_call_used_regs): Attempt to group
7640	regs that the target refuses to use in their natural modes.
7641	(zcur_select_mode_rtx): New.
7642	* regs.h (struct target_regs): Add x_hard_regno_max_nregs.
7643	(hard_regno_max_nregs): Define.
7644	* reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
7645
76462022-04-04  Alex Coplan  <alex.coplan@arm.com>
7647
7648	* doc/match-and-simplify.texi: Fix typos.
7649
76502022-04-04  Jakub Jelinek  <jakub@redhat.com>
7651
7652	PR target/105144
7653	* config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
7654	only if configured with --enable-maintainer-mode, otherwise compare
7655	tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
7656	if they differ, emit a message and fail.
7657
76582022-04-04  Jakub Jelinek  <jakub@redhat.com>
7659
7660	PR target/105144
7661	* config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
7662	* config/aarch64/aarch64-tune.md: Regenerated.
7663
76642022-04-04  Richard Biener  <rguenther@suse.de>
7665
7666	PR tree-optimization/105132
7667	* tree-vect-stmts.cc (vectorizable_operation): Check that
7668	the input vectors have the same number of elements.
7669
76702022-04-04  Richard Biener  <rguenther@suse.de>
7671
7672	PR middle-end/105140
7673	* fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
7674
76752022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
7676
7677	PR target/104987
7678	* config/iq2000/iq2000.md (bbi): New attribute,  default to no.
7679	(delay slot descripts): Use different delay slot description when
7680	the insn as the "bbi" attribute.
7681	(bbi, bbin patterns): Set the bbi attribute to yes.
7682
76832022-04-03  Jakub Jelinek  <jakub@redhat.com>
7684
7685	PR target/105123
7686	* config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
7687	using word as target for expand_simple_binop when doing ASHIFT and
7688	IOR.
7689
76902022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
7691
7692	* config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
7693	NULL before dereferencing it.
7694
76952022-04-01  Qing Zhao  <qing.zhao@oracle.com>
7696
7697	* config/i386/i386.cc (zero_all_st_registers): Return the value of
7698	num_of_st.
7699	(ix86_zero_call_used_regs): Update zeroed_hardregs set according to
7700	the return value of zero_all_st_registers.
7701	* doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
7702	* function.cc (gen_call_used_regs_seq): Add an assertion.
7703	* target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
7704
77052022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
7706
7707	PR target/102024
7708	* config/mips/mips.cc (mips_function_arg): Ignore zero-width
7709	fields, and inform if it causes a psABI change.
7710
77112022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
7712
7713	PR target/102024
7714	* config/mips/mips.cc (mips_fpr_return_fields): Detect C++
7715	zero-width bit-fields and set up an indicator.
7716	(mips_return_in_msb): Adapt for mips_fpr_return_fields change.
7717	(mips_function_value_1): Diagnose when the presense of a C++
7718	zero-width bit-field changes function returning in GCC 12.
7719
77202022-04-01  Jakub Jelinek  <jakub@redhat.com>
7721
7722	PR tree-optimization/104645
7723	* tree-ssa-phiopt.cc (value_replacement): If assign has
7724	CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
7725	statement with constant evaluation.
7726
77272022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
7728
7729	* config/mips/mips.cc (mips_expand_prologue):
7730	  IPL is 8bit for MCU ASE.
7731
77322022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
7733
7734	PR target/104004
7735	* config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
7736	(MTFSB0): Likewise.
7737	(MTFSB1): Likewise.
7738	(SET_FPSCR_RN): Likewise.
7739	(SET_FPSCR_DRN): Mark nosoft and no32bit.
7740
77412022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
7742
7743	* doc/options.texi (Option file format): Clarifications around
7744	option definition records' help texts.
7745
77462022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
7747
7748	* optc-gen.awk <END>: Fix "Multiple different help strings" error
7749	diagnostic.
7750
77512022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7752
7753	* config/aarch64/aarch64.cc (aarch64_vector_costs): Define
7754	determine_suggested_unroll_factor and m_has_avg.
7755	(determine_suggested_unroll_factor): New function.
7756	(aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
7757	to set m_nosve_pattern.
7758	(aarch64_vector_costs::finish_costs): Use
7759	determine_suggested_unroll_factor.
7760	* config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
7761	* doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
7762
77632022-03-31  Martin Jambor  <mjambor@suse.cz>
7764
7765	PR ipa/103083
7766	* ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
7767	(ipa_get_jf_ancestor_keep_null): New function.
7768	* ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
7769	ancestor function.
7770	(compute_complex_assign_jump_func): Pass false to keep_null
7771	parameter of ipa_set_ancestor_jf.
7772	(compute_complex_ancestor_jump_func): Pass true to keep_null
7773	parameter of ipa_set_ancestor_jf.
7774	(update_jump_functions_after_inlining): Carry over keep_null from the
7775	original ancestor jump-function or merge them.
7776	(ipa_write_jump_function): Stream keep_null flag.
7777	(ipa_read_jump_function): Likewise.
7778	(ipa_print_node_jump_functions_for_edge): Print the new flag.
7779	* ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
7780	member function known_nonzero_p.
7781	(ipcp_bits_lattice::known_nonzero_p): New.
7782	(ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
7783	observe it.
7784	(ipcp_bits_lattice::meet_with): Likewise.
7785	(propagate_bits_across_jump_function): Simplify.  Pass true in
7786	drop_all_ones when it is necessary.
7787	(propagate_aggs_across_jump_function): Take care of keep_null
7788	flag.
7789	(ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
7790	jump functions.
7791
77922022-03-31  Martin Jambor  <mjambor@suse.cz>
7793
7794	PR ipa/102513
7795	* ipa-cp.cc (decide_whether_version_node): Skip scalar values
7796	which do not fit the known value_range.
7797
77982022-03-31  Martin Jambor  <mjambor@suse.cz>
7799
7800	PR ipa/103171
7801	* ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
7802	always when an ADDR_EXPR constant is known to reach a load because
7803	of inlining, not just when removing an ADDR reference.
7804
78052022-03-31  Richard Biener  <rguenther@suse.de>
7806
7807	PR tree-optimization/105109
7808	* tree-ssa.cc (execute_update_addresses_taken): Suppress
7809	diagnostics on the load of the other complex component.
7810
78112022-03-31  Tom de Vries  <tdevries@suse.de>
7812
7813	* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
7814
78152022-03-31  Richard Biener  <rguenther@suse.de>
7816
7817	PR rtl-optimization/105091
7818	* gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
7819	bases.
7820
78212022-03-31  Richard Biener  <rguenther@suse.de>
7822
7823	Revert:
7824	2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
7825
7826	PR target/102125
7827	* gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
7828	memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
7829
78302022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7831
7832	* gcov-io.cc (gcov_read_string): Reword documentation comment.
7833
78342022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
7835
7836	* config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
7837	stanza.
7838	(NEG_V4SF): Likewise.
7839	(NEG_V4SI): Likewise.
7840	(NEG_V8HI): Likewise.
7841	(NEG_V2DF): Move to [vsx] stanza.
7842	(NEG_V2DI): Likewise.
7843
78442022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
7845
7846	PR middle-end/105032
7847	* lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
7848
78492022-03-30  Tom de Vries  <tdevries@suse.de>
7850	    Tobias Burnus  <tobias@codesourcery.com>
7851
7852	* doc/invoke.texi (march): Document __PTX_SM__.
7853	 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
7854	 __PTX_ISA_VERSION_MINOR__.
7855
78562022-03-30  Jakub Jelinek  <jakub@redhat.com>
7857
7858	PR sanitizer/105093
7859	* ubsan.cc (instrument_object_size): If t is equal to inner and
7860	is a decl other than global var, punt.  When emitting call to
7861	UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
7862
78632022-03-30  Jakub Jelinek  <jakub@redhat.com>
7864
7865	PR tree-optimization/105094
7866	* gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
7867	bitsize <= 0 rather than just == 0.
7868
78692022-03-30  Tom de Vries  <tdevries@suse.de>
7870
7871	* doc/invoke.texi (misa, mptx): Update.
7872	(march, march-map): Add.
7873
78742022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
7875
7876	* opt-functions.awk (n_args): New function.
7877	(lang_enabled_by): Merge function into...
7878	* optc-gen.awk <END>: ... sole user here.
7879	Improve diagnostics.
7880
78812022-03-29  Marek Polacek  <polacek@redhat.com>
7882	    Jakub Jelinek  <jakub@redhat.com>
7883
7884	PR middle-end/103597
7885	* gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
7886	into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
7887	(gimplify_cond_expr): Set UNUSED_LABEL_P.
7888	* tree.h (UNUSED_LABEL_P): New.
7889
78902022-03-29   Michael Meissner  <meissner@linux.ibm.com>
7891
7892	* config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
7893	be any VSX register.
7894
78952022-03-29  Richard Earnshaw  <rearnsha@arm.com>
7896
7897	PR target/102024
7898	* config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
7899	zero-sized bit-fields.  Detect cases where a warning may be needed.
7900	(aarch64_vfp_is_call_or_return_candidate): Emit a note if a
7901	zero-sized bit-field has caused parameter passing to change.
7902
79032022-03-29  Richard Earnshaw  <rearnsha@arm.com>
7904
7905	PR target/102024
7906	* config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
7907	bit-fields.  Detect cases where a warning may be needed.
7908	(aapcs_vfp_is_call_or_return_candidate): Emit a note if
7909	a zero-sized bit-field has caused parameter passing to change.
7910
79112022-03-29  Richard Earnshaw  <rearnsha@arm.com>
7912
7913	PR target/96882
7914	* config/arm/arm.cc (arm_get_pcs_model): Disable selection of
7915	ARM_PCS_AAPCS_LOCAL.
7916
79172022-03-29  Tom de Vries  <tdevries@suse.de>
7918
7919	PR target/104857
7920	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
7921	__PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
7922	* config/nvptx/nvptx.cc (ptx_version_to_number): New function.
7923	* config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
7924
79252022-03-29  Tom de Vries  <tdevries@suse.de>
7926
7927	* config/nvptx/nvptx.opt (m64): Update help text to reflect that it
7928	is ignored.
7929
79302022-03-29  Tom de Vries  <tdevries@suse.de>
7931
7932	PR target/104714
7933	* config/nvptx/nvptx.opt (march-map=*): Add aliases.
7934
79352022-03-29  Jan Hubicka  <hubicka@ucw.cz>
7936
7937	* config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
7938	TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
7939	* config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
7940	(TARGET_USE_GATHER_4PARTS): New macro.
7941	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
7942	(X86_TUNE_USE_GATHER_4PARTS): New tune
7943
79442022-03-29  Tom de Vries  <tdevries@suse.de>
7945
7946	* config/nvptx/nvptx.opt (march): Add alias of misa.
7947
79482022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7949	    Lulu Cheng  <chenglulu@loongson.cn>
7950
7951	* doc/install.texi: Add LoongArch options section.
7952	* doc/invoke.texi: Add LoongArch options section.
7953	* doc/md.texi: Add LoongArch options section.
7954
79552022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7956	    Lulu Cheng  <chenglulu@loongson.cn>
7957
7958	* config/loongarch/loongarch-c.cc
7959
79602022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7961	    Lulu Cheng  <chenglulu@loongson.cn>
7962
7963	* config/loongarch/larchintrin.h: New file.
7964	* config/loongarch/loongarch-builtins.cc: New file.
7965
79662022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7967	    Lulu Cheng  <chenglulu@loongson.cn>
7968
7969	* config/host-linux.cc: Add LoongArch support.
7970	* config/loongarch/loongarch-protos.h: New file.
7971	* config/loongarch/loongarch-tune.h: Likewise.
7972	* config/loongarch/loongarch.cc: Likewise.
7973	* config/loongarch/loongarch.h: Likewise.
7974
79752022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7976	    Lulu Cheng  <chenglulu@loongson.cn>
7977
7978	* config/loongarch/constraints.md: New file.
7979	* config/loongarch/generic.md: New file.
7980	* config/loongarch/la464.md: New file.
7981	* config/loongarch/loongarch-ftypes.def: New file.
7982	* config/loongarch/loongarch-modes.def: New file.
7983	* config/loongarch/loongarch.md: New file.
7984	* config/loongarch/predicates.md: New file.
7985	* config/loongarch/sync.md: New file.
7986
79872022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7988	    Lulu Cheng  <chenglulu@loongson.cn>
7989
7990	* configure: Regenerate file.
7991
79922022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
7993	    Lulu Cheng  <chenglulu@loongson.cn>
7994
7995	* common/config/loongarch/loongarch-common.cc: New file.
7996	* config/loongarch/genopts/genstr.sh: New file.
7997	* config/loongarch/genopts/loongarch-strings: New file.
7998	* config/loongarch/genopts/loongarch.opt.in: New file.
7999	* config/loongarch/loongarch-str.h: New file.
8000	* config/loongarch/gnu-user.h: New file.
8001	* config/loongarch/linux.h: New file.
8002	* config/loongarch/loongarch-cpu.cc: New file.
8003	* config/loongarch/loongarch-cpu.h: New file.
8004	* config/loongarch/loongarch-def.c: New file.
8005	* config/loongarch/loongarch-def.h: New file.
8006	* config/loongarch/loongarch-driver.cc: New file.
8007	* config/loongarch/loongarch-driver.h: New file.
8008	* config/loongarch/loongarch-opts.cc: New file.
8009	* config/loongarch/loongarch-opts.h: New file.
8010	* config/loongarch/loongarch.opt: New file.
8011	* config/loongarch/t-linux: New file.
8012	* config/loongarch/t-loongarch: New file.
8013	* config.gcc: Add LoongArch support.
8014	* configure.ac: Add LoongArch support.
8015
80162022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
8017
8018	* opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
8019	typo.
8020
80212022-03-29  Richard Biener  <rguenther@suse.de>
8022
8023	PR tree-optimization/105080
8024	* tree-ssa-strlen.cc (printf_strlen_execute): Always init
8025	loops and SCEV.
8026
80272022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
8028
8029	* ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
8030	(output_ctf_vars): Likewise.
8031
80322022-03-28  Jason Merrill  <jason@redhat.com>
8033
8034	PR c++/59426
8035	* doc/extend.texi: Refer to __is_trivial instead of __is_pod.
8036
80372022-03-28  H.J. Lu  <hjl.tools@gmail.com>
8038
8039	PR target/105068
8040	* config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
8041	"Yw" in clobber.
8042
80432022-03-28  Tom de Vries  <tdevries@suse.de>
8044
8045	PR target/104818
8046	* config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
8047	* config/nvptx/nvptx-gen.opt: Regenerate.
8048	* config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
8049	* config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
8050	gen-opt.sh.
8051
80522022-03-28  David Malcolm  <dmalcolm@redhat.com>
8053
8054	PR analyzer/104308
8055	* gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
8056	to loads then stores, set the location of the new load stmt.
8057
80582022-03-28  Richard Biener  <rguenther@suse.de>
8059
8060	PR tree-optimization/105070
8061	* tree-switch-conversion.h
8062	(bit_test_cluster::hoist_edge_and_branch_if_true): Add location
8063	argument.
8064	* tree-switch-conversion.cc
8065	(bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
8066	cond with location.
8067	(bit_test_cluster::emit): Annotate all generated expressions
8068	with location.
8069
80702022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8071
8072	* config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
8073
80742022-03-28  liuhongt  <hongtao.liu@intel.com>
8075
8076	PR target/105066
8077	* config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
8078	alternative 4 from sse4_noavx to noavx.
8079
80802022-03-28  Jakub Jelinek  <jakub@redhat.com>
8081
8082	PR tree-optimization/105056
8083	* tree-predcom.cc (component::component): Initialize also comp_step.
8084
80852022-03-27  H.J. Lu  <hjl.tools@gmail.com>
8086
8087	PR target/105068
8088	* config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
8089	"Yw".
8090
80912022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
8092
8093	PR middle-end/104885
8094	* calls.cc (mark_stack_region_used): Check that the region
8095	is within the allocated size of stack_usage_map.
8096
80972022-03-26  Jakub Jelinek  <jakub@redhat.com>
8098
8099	PR rtl-optimization/103775
8100	* recog.cc (check_invalid_inc_dec): New function.
8101	(insn_invalid_p): Return 1 if REG_INC operand overlaps
8102	any stored REGs.
8103
81042022-03-26  H.J. Lu  <hjl.tools@gmail.com>
8105
8106	PR target/105058
8107	* config/i386/sse.md (loadiwkey): Replace "v" with "x".
8108	(aes<aesklvariant>u8): Likewise.
8109
81102022-03-26  H.J. Lu  <hjl.tools@gmail.com>
8111
8112	PR target/105052
8113	* config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
8114	Replace "Yv" with "x".
8115	(ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
8116	(ssse3_psign<mode>3): Likewise.
8117
81182022-03-26  Hans-Peter Nilsson  <hp@axis.com>
8119
8120	* reload.cc (find_reloads): Align comment with code where
8121	considering the intersection of register classes then tweaking the
8122	regclass for the current alternative or rejecting it.
8123
81242022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
8125
8126	PR target/104882
8127	Revert
8128	2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
8129
8130	* config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
8131	(mve_vec_unpack<US>_hi_<mode>): Delete.
8132	(@mve_vec_pack_trunc_lo_<mode>): Delete.
8133	(mve_vmovntq_<supf><mode>): Remove '@' prefix.
8134	* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
8135	from vec-common.md.
8136	(vec_unpack<US>_lo_<mode>): Likewise.
8137	(vec_pack_trunc_<mode>): Rename from
8138	neon_quad_vec_pack_trunc_<mode>.
8139	* config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
8140	(vec_unpack<US>_lo_<mode>): Delete.
8141	(vec_pack_trunc_<mode>): Delete.
8142
81432022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
8144
8145	PR middle-end/104971
8146	* lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
8147	regs to clear remove_p flag.
8148
81492022-03-25  Richard Biener  <rguenther@suse.de>
8150
8151	PR tree-optimization/105053
8152	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
8153	the correct live-out stmt for a reduction chain.
8154
81552022-03-25  Richard Biener  <rguenther@suse.de>
8156
8157	PR middle-end/105049
8158	* tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
8159	CONSTRUCTOR first elements.
8160
81612022-03-25  Tobias Burnus  <tobias@codesourcery.com>
8162
8163	PR analyzer/103533
8164	* doc/invoke.texi (Static Analyzer Options): Move
8165	@ignore block after @gccoptlist's '}' for 'make pdf'.
8166
81672022-03-25  David Malcolm  <dmalcolm@redhat.com>
8168
8169	PR analyzer/104954
8170	* doc/invoke.texi (Static Analyzer Options): Add
8171	-fdump-analyzer-untracked.
8172
81732022-03-25  Avinash Sonawane  <rootkea@gmail.com>
8174
8175	PR analyzer/103533
8176	* doc/invoke.texi: Document that enabling taint analyzer
8177	checker disables some warnings from `-fanalyzer`.
8178
81792022-03-24  Alexandre Oliva  <oliva@adacore.com>
8180
8181	PR debug/104564
8182	* gimple-harden-conditionals.cc (detach_value): Keep temps
8183	anonymous.
8184
81852022-03-24  Alexandre Oliva  <oliva@adacore.com>
8186
8187	PR middle-end/104975
8188	* gimple-harden-conditionals.cc
8189	(pass_harden_compares::execute): Force split in case of
8190	multiple edges.
8191
81922022-03-24  Jakub Jelinek  <jakub@redhat.com>
8193
8194	PR c++/105035
8195	* fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
8196	field0 or field1 is not a FIELD_DECL, return false.
8197
81982022-03-24  Richard Biener  <rguenther@suse.de>
8199
8200	* tree-predcom.cc (chain::chain): Add CTOR.
8201	(component::component): Likewise.
8202	(pcom_worker::release_chain): Use delete.
8203	(release_components): Likewise.
8204	(pcom_worker::filter_suitable_components): Likewise.
8205	(pcom_worker::split_data_refs_to_components): Use new.
8206	(make_invariant_chain): Likewise.
8207	(make_rooted_chain): Likewise.
8208	(pcom_worker::combine_chains): Likewise.
8209	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
8210	Make sure to release previously constructed scalar_results.
8211	* tree-vect-stmts.cc (vectorizable_load): Use auto_vec
8212	for vec_offsets.
8213	* vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
8214	Release m_flag_set_edges.
8215
82162022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8217
8218	PR tree-optimization/104970
8219	* tree-object-size.cc (parm_object_size): Restrict size
8220	computation scenarios to explicit access attributes.
8221
82222022-03-24  Kewen Lin  <linkw@linux.ibm.com>
8223
8224	PR target/104967
8225	* config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
8226	function types.
8227
82282022-03-23  Richard Biener  <rguenther@suse.de>
8229
8230	PR target/102125
8231	* gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
8232	use of movmisalign when either the source or destination
8233	decl is properly aligned.
8234
82352022-03-23  Richard Biener  <rguenther@suse.de>
8236
8237	PR rtl-optimization/105028
8238	* ira-color.cc (form_threads_from_copies): Remove unnecessary
8239	copying of the sorted_copies tail.
8240
82412022-03-23  Martin Liska  <mliska@suse.cz>
8242
8243	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
8244	Use %qs in format.
8245	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
8246	Reword the error message.
8247
82482022-03-23  liuhongt  <hongtao.liu@intel.com>
8249
8250	PR target/104976
8251	* config/i386/sse.md (ssePSmodelower): New.
8252	(*avx_cmp<mode>3_ltint_not): Force_reg operand before
8253	lowpart_subreg to avoid NULL_RTX.
8254	(<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
8255	<avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
8256	fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
8257	<avx512>_<complexopname>_<mode>_mask<round_name>,
8258	avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
8259	avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
8260	avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
8261	avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
8262	float<floatunssuffix><mode>v4hf2,
8263	float<floatunssuffix>v2div2hf2,
8264	fix<fixunssuffix>_truncv4hf<mode>2,
8265	fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
8266	extendv2hfv2df2,
8267	trunc<mode>v4hf2,truncv2dfv2hf2,
8268	*avx512bw_permvar_truncv16siv16hi_1,
8269	*avx512bw_permvar_truncv16siv16hi_1_hf,
8270	*avx512f_permvar_truncv8siv8hi_1,
8271	*avx512f_permvar_truncv8siv8hi_1_hf,
8272	*avx512f_vpermvar_truncv8div8si_1,
8273	*avx512f_permvar_truncv32hiv32qi_1,
8274	*avx512f_permvar_truncv16hiv16qi_1,
8275	*avx512f_permvar_truncv4div4si_1,
8276	*avx512f_pshufb_truncv8hiv8qi_1,
8277	*avx512f_pshufb_truncv4siv4hi_1,
8278	*avx512f_pshufd_truncv2div2si_1,
8279	sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
8280	ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
8281
82822022-03-22  Tom de Vries  <tdevries@suse.de>
8283
8284	PR target/104925
8285	* config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
8286	Use % as register prefix.
8287
82882022-03-22  Tom de Vries  <tdevries@suse.de>
8289
8290	* config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
8291	(nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
8292	mexperimental.
8293
82942022-03-22  Tom de Vries  <tdevries@suse.de>
8295
8296	* config/nvptx/nvptx.opt (mexperimental): New option.
8297
82982022-03-22  Tom de Vries  <tdevries@suse.de>
8299
8300	PR target/104957
8301	* config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
8302	* config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
8303	for alias.
8304	(SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
8305	(nvptx_asm_output_def_from_decls): New function.
8306	* config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
8307	gcc_unreachable ().
8308	(ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
8309	nvptx_asm_output_def_from_decls.
8310	* config/nvptx/nvptx.opt (malias): New opt.
8311
83122022-03-22  Tom de Vries  <tdevries@suse.de>
8313
8314	PR target/104916
8315	PR target/104783
8316	* config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
8317	sync (or uniform warp check for mptx < 6.0).
8318
83192022-03-22  Richard Biener  <rguenther@suse.de>
8320
8321	PR tree-optimization/105012
8322	* tree-if-conv.cc (ifcvt_local_dce): Only call
8323	dse_classify_store when we have a VDEF.
8324
83252022-03-22  Martin Liska  <mliska@suse.cz>
8326
8327	PR target/104902
8328	* config/nvptx/nvptx.cc (handle_ptx_version_option):
8329	Fix option wrapping in an error message.
8330
83312022-03-22  Martin Liska  <mliska@suse.cz>
8332
8333	PR target/104903
8334	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
8335	Wrap const keyword.
8336
83372022-03-22  Martin Liska  <mliska@suse.cz>
8338
8339	* config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
8340	name.
8341
83422022-03-22  Martin Liska  <mliska@suse.cz>
8343
8344	PR target/104898
8345	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
8346	Use %qs instead of (%qs).
8347
83482022-03-22  Martin Liska  <mliska@suse.cz>
8349
8350	PR target/104898
8351	* config/i386/i386-options.cc (ix86_option_override_internal):
8352	  Use '%qs' instead of '(%qs)'.
8353
83542022-03-22  Martin Liska  <mliska@suse.cz>
8355
8356	PR target/104898
8357	* config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
8358	Use 'qs' and remove usage '(%qs)'.
8359	(aarch64_handle_attr_cpu): Likewise.
8360	(aarch64_handle_attr_tune): Likewise.
8361	(aarch64_handle_attr_isa_flags): Likewise.
8362
83632022-03-22  Tamar Christina  <tamar.christina@arm.com>
8364	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
8365
8366	* config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
8367	struct.
8368	(neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
8369	cost.
8370	(neoverse512tvb_tunings): Likewise.
8371
83722022-03-22  Tamar Christina  <tamar.christina@arm.com>
8373	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
8374
8375	* config/aarch64/aarch64.cc (demeter_addrcost_table,
8376	demeter_regmove_cost, demeter_advsimd_vector_cost,
8377	demeter_sve_vector_cost, demeter_scalar_issue_info,
8378	demeter_advsimd_issue_info, demeter_sve_issue_info,
8379	demeter_vec_issue_info, demeter_vector_cost,
8380	demeter_tunings): New tuning structs.
8381	(aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
8382	tuning.
8383	* config/aarch64/aarch64-cores.def: Add entry for demeter.
8384	* config/aarch64/aarch64-tune.md (tune): Add demeter to list.
8385
83862022-03-22  Tamar Christina  <tamar.christina@arm.com>
8387	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
8388
8389	* config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
8390	(struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
8391	* config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
8392	tunings to use cpu_memmov_cost struct.
8393
83942022-03-22  Tamar Christina  <tamar.christina@arm.com>
8395	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
8396
8397	* config/aarch64/aarch64.cc (neoversen2_addrcost_table,
8398	neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
8399	neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
8400	neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
8401	neoversen2_vec_issue_info, neoversen2_tunings): New structs.
8402	(neoversen2_tunings): Use new structs and update tuning flags.
8403	(aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
8404	tuning.
8405
84062022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8407
8408	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
8409	bit.
8410
84112022-03-22  liuhongt  <hongtao.liu@intel.com>
8412
8413	PR target/104982
8414	* config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
8415	following splitter to reversed condition.
8416
84172022-03-22  Jakub Jelinek  <jakub@redhat.com>
8418
8419	PR rtl-optimization/104989
8420	* calls.cc (expand_call): Don't set ECF_NORETURN in flags after
8421	sorry for passing too large argument, instead set sibcall_failure
8422	for pass == 0, or a new normal_failure flag otherwise.  If
8423	normal_failure is set, don't assert all stack has been deallocated
8424	at the end and throw away the whole insn sequence.
8425
84262022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
8427
8428	* print-tree.cc: Change array length
8429
84302022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
8431
8432	PR target/104978
8433	* config/i386/sse.md
8434	(avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
8435	Use avx512f_movsf_mask instead of vmovaps or vblend, and
8436	force_reg before lowpart_subreg.
8437	(avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
8438
84392022-03-21  H.J. Lu  <hjl.tools@gmail.com>
8440
8441	PR target/105000
8442	* common/config/i386/i386-common.cc
8443	(OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
8444	OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
8445
84462022-03-21  H.J. Lu  <hjl.tools@gmail.com>
8447
8448	PR target/104998
8449	* common/config/i386/cpuinfo.h (get_available_features): Pass
8450	0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
8451	bit_AESKLE is set.
8452
84532022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
8454
8455	PR middle-end/104869
8456	* rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
8457	(clobber_group::next_clobber): Likewise.
8458	(def_lookup::prev_def): Rename to...
8459	(def_lookup::last_def_of_prev_group): ...this.
8460	(def_lookup::next_def): Rename to...
8461	(def_lookup::first_def_of_next_group): ...this.
8462	(def_lookup::matching_or_prev_def): Rename to...
8463	(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
8464	(def_lookup::matching_or_next_def): Rename to...
8465	(def_lookup::matching_set_or_first_def_of_next_group): ...this.
8466	(def_lookup::prev_def): New function, taking the lookup insn as
8467	argument.
8468	(def_lookup::next_def): Likewise.
8469	* rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
8470	(def_lookup::last_def_of_prev_group): ...this.
8471	(def_lookup::next_def): Rename to...
8472	(def_lookup::first_def_of_next_group): ...this.
8473	(def_lookup::matching_or_prev_def): Rename to...
8474	(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
8475	(def_lookup::matching_or_next_def): Rename to...
8476	(def_lookup::matching_set_or_first_def_of_next_group): ...this.
8477	* rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
8478	above renaming.
8479	* rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
8480	(clobber_group::next_clobber): Likewise.
8481	(def_lookup::prev_def): Likewise.
8482	(def_lookup::next_def): Likewise.
8483	(function_info::make_use_available): Pass the lookup insn to
8484	def_lookup::prev_def and def_lookup::next_def.
8485
84862022-03-21  Martin Liska  <mliska@suse.cz>
8487
8488	* doc/invoke.texi: Document min-pagesize parameter.
8489
84902022-03-21  Richard Biener  <rguenther@suse.de>
8491
8492	* tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
8493	we are estimating niter of loop.
8494
84952022-03-21  Kito Cheng  <kito.cheng@sifive.com>
8496
8497	* common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
8498	Update flag name and mask name.
8499	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
8500	misc macro for vector extensions.
8501	* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
8502	(MASK_VECTOR_ELEN_32): ... this.
8503	(MASK_VECTOR_EEW_64): Rename to ...
8504	(MASK_VECTOR_ELEN_64): ... this.
8505	(MASK_VECTOR_EEW_FP_32): Rename to ...
8506	(MASK_VECTOR_ELEN_FP_32): ... this.
8507	(MASK_VECTOR_EEW_FP_64): Rename to ...
8508	(MASK_VECTOR_ELEN_FP_64): ... this.
8509	(TARGET_VECTOR_ELEN_32): New.
8510	(TARGET_VECTOR_ELEN_64): Ditto.
8511	(TARGET_VECTOR_ELEN_FP_32): Ditto.
8512	(TARGET_VECTOR_ELEN_FP_64): Ditto.
8513	(TARGET_MIN_VLEN): Ditto.
8514	* config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
8515	(riscv_vector_elen_flags): ... this.
8516
85172022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
8518
8519	PR target/104977
8520	* config/i386/sse.md
8521	(avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
8522	Correct round operand for intel dialect.
8523
85242022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
8525
8526	* diagnostic.cc (diagnostic_cc_tests): Rename to...
8527	(c_diagnostic_cc_tests): ...this.
8528	* opt-problem.cc (opt_problem_cc_tests): Rename to...
8529	(c_opt_problem_cc_tests): ...this.
8530	* selftest-run-tests.cc (selftest::run_tests): No longer run
8531	opt_problem_cc_tests or diagnostic_cc_tests.
8532	* selftest.h (diagnostic_cc_tests): Remove declaration.
8533	(opt_problem_cc_tests): Likewise.
8534
85352022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
8536
8537	PR jit/63854
8538	* hash-traits.h (struct typed_const_free_remove): New.
8539	(struct free_string_hash): New.
8540	* pass_manager.h: Use free_string_hash.
8541	* passes.cc (pass_manager::register_pass_name): Use free_string_hash.
8542	(pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
8543
85442022-03-19  Jakub Jelinek  <jakub@redhat.com>
8545
8546	PR middle-end/104971
8547	* config/i386/i386-expand.cc
8548	(ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
8549	don't push/pop anything and just return const0_rtx.
8550
85512022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
8552
8553	PR rtl-optimization/104961
8554	* lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
8555
85562022-03-18  Jason Merrill  <jason@redhat.com>
8557
8558	* tree.h (IDENTIFIER_LENGTH): Add comment.
8559
85602022-03-18  Jakub Jelinek  <jakub@redhat.com>
8561
8562	PR middle-end/99578
8563	PR middle-end/100680
8564	PR tree-optimization/100834
8565	* params.opt (--param=min-pagesize=): New parameter.
8566	* pointer-query.cc
8567	(compute_objsize_r) <case ARRAY_REF>: Formatting fix.
8568	(compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
8569	of zero for pointer constants equal or larger than min-pagesize.
8570
85712022-03-18  Tom de Vries  <tdevries@suse.de>
8572
8573	* gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
8574	Set gfor location only when dealing with a OMP_TASKLOOP.
8575
85762022-03-18  Tom de Vries  <tdevries@suse.de>
8577
8578	* gimplify.cc (gimplify_omp_for): Set taskloop location.
8579
85802022-03-18  Tom de Vries  <tdevries@suse.de>
8581
8582	PR target/104952
8583	* omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
8584	is executed unconditionally.
8585
85862022-03-18  liuhongt  <hongtao.liu@intel.com>
8587
8588	PR target/104974
8589	* config/i386/i386.md (*movhi_internal): Set attr type from HI
8590	to HF for alternative 12 under TARGET_AVX512FP16.
8591
85922022-03-18  Cui,Lili  <lili.cui@intel.com>
8593
8594	PR target/104963
8595	* config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
8596	* doc/invoke.texi: Update documents for Intel sapphirerapids.
8597
85982022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
8599
8600	PR target/86722
8601	PR tree-optimization/90356
8602	* config/i386/i386.md (*movtf_internal): Don't guard
8603	standard_sse_constant_p clause by optimize_function_for_size_p.
8604	(*movdf_internal): Likewise.
8605	(*movsf_internal): Likewise.
8606
86072022-03-17  Andrew MacLeod  <amacleod@redhat.com>
8608
8609	PR tree-optimization/102943
8610	* gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
8611	dominators and apply intermediary outgoing edge ranges.
8612
86132022-03-17  Richard Biener  <rguenther@suse.de>
8614
8615	PR tree-optimization/104960
8616	* passes.def: Add pass parameter to pass_sink_code, mark
8617	last one to unsplit edges.
8618	* tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
8619	(pass_sink_code::execute): Always execute TODO_cleanup_cfg
8620	when we need to unsplit edges.
8621
86222022-03-17  Jakub Jelinek  <jakub@redhat.com>
8623
8624	PR middle-end/103984
8625	* gimplify.cc (gimplify_target_expr): Gimplify type sizes and
8626	TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
8627	and asan unpoisioning, then append the temporary sequence and
8628	finally the TARGET_EXPR_CLEANUP clobbers.
8629
86302022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8631
8632	* config/i386/sse.md: Delete corrupt character/typo.
8633
86342022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8635
8636	PR target/94680
8637	* config/i386/sse.md (sse2_movq128): New define_expand to
8638	preserve previous named instruction.
8639	(*sse2_movq128_<mode>): Renamed from sse2_movq128, and
8640	generalized to VI8F_128 (both V2DI and V2DF).
8641
86422022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8643
8644	PR tree-optimization/104941
8645	* tree-object-size.cc (size_for_offset): Make useless conversion
8646	check lighter and assign result of fold_convert to OFFSET.
8647
86482022-03-16  H.J. Lu  <hjl.tools@gmail.com>
8649
8650	PR target/104890
8651	* config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
8652	pushing target("general-regs-only").
8653
86542022-03-16  Kito Cheng  <kito.cheng@sifive.com>
8655
8656	* common/config/riscv/riscv-common.cc (riscv_ext_version_table):
8657	Add version info for zk, zks and zkn.
8658
86592022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
8660
8661	* common/config/riscv/riscv-common.cc
8662	(riscv_combine_info): New.
8663	(riscv_subset_list::handle_combine_ext): Combine back into zk to
8664	maintain the canonical order in isa strings.
8665	(riscv_subset_list::parse): Ditto.
8666	* config/riscv/riscv-subset.h (handle_combine_ext): New.
8667
86682022-03-16  Richard Biener  <rguenther@suse.de>
8669
8670	PR tree-optimization/102008
8671	* passes.def: Move the added code sinking pass before the
8672	preceeding phiopt pass.
8673
86742022-03-16  Patrick Palka  <ppalka@redhat.com>
8675
8676	PR c++/96780
8677	* doc/invoke.texi (C++ Dialect Options): Document
8678	-ffold-simple-inlines.
8679
86802022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8681
8682	PR tree-optimization/104942
8683	* tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
8684
86852022-03-16  Jakub Jelinek  <jakub@redhat.com>
8686
8687	PR target/104910
8688	* config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
8689	imm rtx.
8690
86912022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8692	    Richard Biener  <rguenther@suse.de>
8693
8694	* gimple-match-head.cc (single_use): Implement inline using a
8695	single loop.
8696
86972022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
8698
8699	* match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
8700	instead of HONOR_NANS.
8701	(X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
8702	this can't trap/signal.
8703
87042022-03-16  liuhongt  <hongtao.liu@intel.com>
8705
8706	PR target/104946
8707	* config/i386/i386-builtin.def (BDESC): Add
8708	CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
8709	* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
8710	__builtin_ia32_blendvpd w/o sse4.2
8711
87122022-03-15  Peter Bergner  <bergner@linux.ibm.com>
8713
8714	PR target/104923
8715	* config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
8716	acceptable MEM addresses.
8717
87182022-03-15  Jakub Jelinek  <jakub@redhat.com>
8719
8720	PR target/91229
8721	* config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
8722	riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
8723	to warning calls.
8724
87252022-03-15  Jakub Jelinek  <jakub@redhat.com>
8726
8727	PR target/104890
8728	* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
8729	instead of general-regs-only.
8730
87312022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
8732	    Marc Glisse  <marc.glisse@inria.fr>
8733	    Richard Biener  <rguenther@suse.de>
8734
8735	PR tree-optimization/101895
8736	* match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
8737	(plus (vec_perm (mult ...) ...) ...): New reordering simplification.
8738
87392022-03-15  Jakub Jelinek  <jakub@redhat.com>
8740
8741	PR rtl-optimization/104814
8742	* ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
8743	end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
8744
87452022-03-15  Martin Sebor  <msebor@redhat.com>
8746
8747	PR middle-end/104436
8748	* gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
8749	Check for warning suppression.  Avoid by-value arguments transformed
8750	into by-transparent-reference.
8751
87522022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
8753	    Uroš Bizjak  <ubizjak@gmail.com>
8754
8755	* config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
8756	transformation when *zero_extend<mode>si2 is not available.
8757
87582022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
8759
8760	* config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
8761	* config/mips/mips.cc (mips_option_override): Make
8762	-fsanitize=address imply -fasynchronous-unwind-tables.  This is
8763	needed by libasan for stack backtrace on MIPS.
8764	(mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
8765
87662022-03-14  Jakub Jelinek  <jakub@redhat.com>
8767
8768	PR debug/104778
8769	* lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
8770	SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
8771	call simplified the first operand into VOIDmode constant.
8772
87732022-03-14  Jakub Jelinek  <jakub@redhat.com>
8774
8775	PR tree-optimization/102586
8776	* doc/extend.texi (__builtin_clear_padding): Clearify that for C++
8777	argument type should be pointer to trivially-copyable type unless it
8778	is address of a variable or parameter.
8779
87802022-03-14  Jakub Jelinek  <jakub@redhat.com>
8781
8782	PR target/99754
8783	* config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
8784	first 	rather than last element of the vector, use __m32_u to do
8785	a really unaligned load, use just 0 instead of (int)0.
8786	(_mm_loadu_si16): Put loaded value into first rather than last
8787	element of the vector, use __m16_u to do a really unaligned load,
8788	use just 0 instead of (short)0.
8789
87902022-03-14  Jakub Jelinek  <jakub@redhat.com>
8791
8792	PR other/104899
8793	* config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
8794	in diagnostic message - cannott -> cannot.  Use %< and %> around
8795	names of attribute.  Avoid too long line.
8796	* range-op.cc (operator_logical_and::op1_range): Fix up a typo
8797	in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
8798
87992022-03-14  liuhongt  <hongtao.liu@intel.com>
8800
8801	PR target/104666
8802	* config/i386/i386-expand.cc
8803	(ix86_check_builtin_isa_match):	New func.
8804	(ix86_expand_builtin): Move code to
8805	ix86_check_builtin_isa_match and call it.
8806	* config/i386/i386-protos.h
8807	(ix86_check_builtin_isa_match): Declare.
8808	* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
8809	builtin into gimple when isa mismatches.
8810
88112022-03-13  Tobias Burnus  <tobias@codesourcery.com>
8812
8813	* doc/invoke.texi: Fix typos.
8814	* doc/tm.texi.in: Remove duplicated word.
8815	* doc/tm.texi: Regenerate.
8816
88172022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
8818
8819	PR target/104829
8820	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
8821	"ppc" and "ppc64" based on rs6000_cpu.
8822
88232022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
8824
8825	PR middle-end/100280
8826	PR middle-end/104892
8827	* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
8828	Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
8829
88302022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
8831
8832	PR middle-end/100280
8833	PR middle-end/104086
8834	* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
8835	Mark variables used in 'present' clauses as addressable.
8836	* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
8837	handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
8838
88392022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
8840
8841	PR other/65095
8842	* tree-core.h (user_omp_claus_code_name): Declare function.
8843	* tree.cc (user_omp_clause_code_name): New function.
8844
88452022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
8846
8847	PR middle-end/98420
8848	* match.pd (minus @0 @0): Additional checks for -fno-rounding-math
8849	(the defaut) or -fno-signed-zeros.
8850
88512022-03-12   Michael Meissner  <meissner@linux.ibm.com>
8852
8853	PR target/104868
8854	* config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
8855	moving from a GPR register to an Altivec register.
8856
88572022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
8858
8859	PR tree-optimization/98335
8860	* config/i386/i386.md (peephole2): Eliminate redundant insv.
8861	Combine movl followed by movb.  Transform xorl followed by
8862	a suitable movb or movw into the equivalent movz[bw]l.
8863
88642022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
8865	    Richard Biener  <rguenther@suse.de>
8866
8867	PR tree-optimization/98335
8868	* builtins.cc (get_object_alignment_2): Export.
8869	* builtins.h (get_object_alignment_2): Likewise.
8870	* tree-ssa-alias.cc (ao_ref_alignment): New.
8871	* tree-ssa-alias.h (ao_ref_alignment): Declare.
8872	* tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
8873	to align head/tail, writing more bytes but using fewer store insns.
8874
88752022-03-11  Richard Biener  <rguenther@suse.de>
8876
8877	PR tree-optimization/104880
8878	* tree-ssa.cc (execute_update_address_taken): Remember if we
8879	optimistically made something not addressable and
8880	prepare to undo it.
8881
88822022-03-11  Richard Biener  <rguenther@suse.de>
8883
8884	PR target/104762
8885	* config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
8886	cost the first lane of SSE pieces as inserts for vec_construct.
8887
88882022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
8889
8890	PR c++/84964
8891	* calls.cc (expand_call): Ignore stack adjustments after sorry.
8892
88932022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
8894
8895	PR target/103074
8896	* lra-constraints.cc (split_reg): Set up
8897	check_and_force_assignment_correctness_p when splitting hard
8898	register live range.
8899
89002022-03-10  Martin Jambor  <mjambor@suse.cz>
8901
8902	PR ipa/104813
8903	* ipa-cp.cc (create_specialized_node): Move removal of
8904	self-recursive calls from callers vector before refrence
8905	adjustments.
8906
89072022-03-10  Richard Biener  <rguenther@suse.de>
8908
8909	PR tree-optimization/102943
8910	* gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
8911	Make a bitmap_head.
8912	(sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
8913	to tree view.
8914	(sbr_sparse_bitmap::set_bb_range): Adjust.
8915	(sbr_sparse_bitmap::get_bb_range): Likewise.
8916
89172022-03-10  Richard Biener  <rguenther@suse.de>
8918
8919	PR tree-optimization/102943
8920	* tree-ssa-dom.cc (back_propagate_equivalences): Only
8921	populate the dominance bitmap if fast queries are not
8922	available.  Use a tree view bitmap.
8923	(record_temporary_equivalences): Cache the dominance bitmap
8924	across all equivalences on the edge.
8925
89262022-03-10  Tom de Vries  <tdevries@suse.de>
8927
8928	PR target/104840
8929	* config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
8930	of false,true.
8931
89322022-03-10  Tom de Vries  <tdevries@suse.de>
8933
8934	PR target/104783
8935	* config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
8936	(nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
8937	(nvptx_get_unisimt_outside_simt_predicate): New function.
8938	(predicate_insn): New function, factored out of ...
8939	(nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
8940	* config/nvptx/nvptx.h (struct machine_function): Add
8941	unisimt_outside_simt_predicate field.
8942	* config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
8943	(define_insn "nvptx_uniform_warp_check"): Make predicable.
8944
89452022-03-10  Tom de Vries  <tdevries@suse.de>
8946
8947	* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
8948	result.
8949
89502022-03-10  Tom de Vries  <tdevries@suse.de>
8951
8952	PR target/104815
8953	* config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
8954	modifier.
8955	* config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
8956
89572022-03-10  Tom de Vries  <tdevries@suse.de>
8958
8959	* config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
8960	Emit atom.and.b64 instead of atom.b64.and.
8961
89622022-03-10  Tom de Vries  <tdevries@suse.de>
8963
8964	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
8965	(MULTILIB_OPTIONS): ... here.
8966
89672022-03-10  Tom de Vries  <tdevries@suse.de>
8968
8969	PR target/104758
8970	* config/nvptx/nvptx.opt (misa): Set default to sm_30.
8971	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
8972
89732022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
8974
8975	PR middle-end/90115
8976	PR middle-end/102330
8977	PR middle-end/104774
8978	* omp-low.cc (oacc_privatization_candidate_p)
8979	(oacc_privatization_scan_clause_chain)
8980	(oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
8981	Analyze 'lookup_decl'-translated DECL.
8982
89832022-03-10  Jakub Jelinek  <jakub@redhat.com>
8984
8985	PR target/99708
8986	* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
8987	RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
8988	(ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
8989	* config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
8990	"**NULL**" if type_node is NULL first.  Handle
8991	ieee128_float_type_node.
8992	(rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
8993	and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
8994	ieee128_float_type_node to NULL rather than long_double_type_node if
8995	they aren't supported.  Do support __ibm128 even if
8996	!TARGET_FLOAT128_TYPE when long double is double double.
8997	(rs6000_expand_builtin): Error if bif_is_ibm128 and
8998	!ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
8999	RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
9000	for it.
9001	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
9002	__SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
9003	(rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
9004	Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
9005	Formatting fix.
9006	* config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
9007	(struct attrinfo): Add isibm128 member.
9008	(TYPE_MAP_SIZE): Remove.
9009	(type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
9010	ibm128_float_type_node only if it is non-NULL, otherwise fall back
9011	to long_double_type_node.  Remove "pif" entry.
9012	(parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
9013	(write_decls): Output bif_ibm128_bit and bif_is_ibm128.
9014	(write_type_node): Use sizeof type_map / sizeof type_map[0]
9015	instead of TYPE_MAP_SIZE.
9016	(write_bif_static_init): Handle isibm128.
9017	* config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
9018	(__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
9019	attribute.
9020
90212022-03-09  Richard Biener  <rguenther@suse.de>
9022
9023	* cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
9024	with non-decl operand, avoiding a copy.
9025
90262022-03-09  Jakub Jelinek  <jakub@redhat.com>
9027
9028	PR target/104781
9029	* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
9030
90312022-03-09  Richard Biener  <rguenther@suse.de>
9032
9033	PR middle-end/104786
9034	* cfgexpand.cc (expand_asm_stmt): Do not generate a copy
9035	for VLAs without an upper size bound.
9036
90372022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
9038
9039	PR tree-optimization/104851
9040	* optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
9041	error.
9042
90432022-03-09  Jakub Jelinek  <jakub@redhat.com>
9044
9045	PR c/104711
9046	* doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
9047	is enabled by it only for C++11 to C++17 rather than for C++03 or
9048	later.
9049	(-Wshift-negative-value): Similarly (except here we stated
9050	that it is enabled for C++11 or later).
9051
90522022-03-09  Jakub Jelinek  <jakub@redhat.com>
9053
9054	PR rtl-optimization/104839
9055	* simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
9056	Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
9057	(simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
9058	instead of incorrect 0 in SUBREG_PROMOTED_SET.
9059
90602022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
9061
9062	PR target/104842
9063	* config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
9064	value before adding an offset.
9065
90662022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
9067
9068	* config/arm/arm-builtins.cc
9069	(arm_binop_none_none_unone_qualifiers): Delete.
9070	(BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
9071
90722022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
9073
9074	PR translation/104552
9075	* config/host-darwin.cc (darwin_gt_pch_get_address): Amend
9076	the PCH out of memory error message punctuation and wording.
9077
90782022-03-08  Marek Polacek  <polacek@redhat.com>
9079
9080	PR rtl-optimization/104777
9081	* rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
9082	ASM_OPERANDS_LABEL_VEC has at least one element.
9083
90842022-03-08  H.J. Lu  <hjl.tools@gmail.com>
9085
9086	PR target/104781
9087	* config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
9088	stack realignment or regparm nested function with EH return.
9089
90902022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9091
9092	PR target/104790
9093	* config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
9094	* config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
9095	register for non widening loads or narrowing stores.
9096
90972022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
9098
9099	PR translation/104552
9100	* params.opt: Fix typo.
9101
91022022-03-08  Richard Biener  <rguenther@suse.de>
9103
9104	PR tree-optimization/84201
9105	* params.opt (-param=vect-induction-float): Add.
9106	* doc/invoke.texi (vect-induction-float): Document.
9107	* tree-vect-loop.cc (vectorizable_induction): Honor
9108	param_vect_induction_float.
9109
91102022-03-08  Martin Jambor  <mjambor@suse.cz>
9111
9112	PR translation/104552
9113	* params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
9114	"that" in the description.
9115
91162022-03-08  Richard Biener  <rguenther@suse.de>
9117
9118	PR tree-optimization/104825
9119	* tree-ssa-sccvn.cc (visit_reference_op_call): Properly
9120	guard modref get_ao_ref on a pointer typed argument.
9121
91222022-03-08  liuhongt  <hongtao.liu@intel.com>
9123
9124	* config/i386/sse.md (*vec_dupv4si): Disable memory operand
9125	for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
9126
91272022-03-07  Jonathan Wakely  <jwakely@redhat.com>
9128
9129	* doc/invoke.texi (C++ Modules): Remove anachronism.
9130
91312022-03-07  Martin Liska  <mliska@suse.cz>
9132
9133	PR middle-end/104381
9134	* opts.cc (finish_options): If debug info is disabled
9135	(debug_info_level) and -fvar-tracking is unset, disable it.
9136
91372022-03-07  Jakub Jelinek  <jakub@redhat.com>
9138
9139	* tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
9140	* config/riscv/riscv.cc: Likewise.
9141	* config/darwin.h: Likewise.
9142	* config/i386/i386.cc: Likewise.
9143	* config/aarch64/thunderx3t110.md: Likewise.
9144	* config/aarch64/fractional-cost.h: Likewise.
9145	* config/vax/vax.cc: Likewise.
9146	* config/rs6000/pcrel-opt.md: Likewise.
9147	* config/rs6000/predicates.md: Likewise.
9148	* ctfc.h: Likewise.
9149	* tree-ssa-uninit.cc: Likewise.
9150	* value-relation.h: Likewise.
9151	* gimple-range-gori.cc: Likewise.
9152	* ipa-polymorphic-call.cc: Likewise.
9153	* pointer-query.cc: Likewise.
9154	* ipa-sra.cc: Likewise.
9155	* internal-fn.cc: Likewise.
9156	* varasm.cc: Likewise.
9157	* gimple-ssa-warn-access.cc: Likewise.
9158
91592022-03-07  Martin Liska  <mliska@suse.cz>
9160
9161	PR target/104794
9162	* config/arm/arm.cc (arm_option_override_internal): Add missing
9163	space.
9164
91652022-03-07  Richard Biener  <rguenther@suse.de>
9166
9167	PR tree-optimization/104782
9168	* tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
9169	Re-instantiate r10-5979 fix, add comment.
9170
91712022-03-07  Martin Liska  <mliska@suse.cz>
9172
9173	PR target/104797
9174	* config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
9175	parenthesis from built-in name.
9176
91772022-03-07  Martin Liska  <mliska@suse.cz>
9178
9179	PR target/104794
9180	* config/arm/arm.cc (arm_option_override_internal): Fix quoting
9181	of options in error messages.
9182	(arm_option_reconfigure_globals): Likewise.
9183
91842022-03-07  Martin Liska  <mliska@suse.cz>
9185
9186	PR target/104794
9187	* config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
9188	message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
9189	have only range [0,32].
9190
91912022-03-07  Jakub Jelinek  <jakub@redhat.com>
9192
9193	PR target/104775
9194	* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
9195	S constraint instead of T in the last alternative.
9196
91972022-03-07  Martin Liska  <mliska@suse.cz>
9198
9199	* plugin.cc (default_plugin_dir_name): Remove <dir> from error
9200	message.
9201
92022022-03-07  Martin Liska  <mliska@suse.cz>
9203
9204	PR translation/90148
9205	* config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
9206	quote to a proper place.
9207	* plugin.cc (default_plugin_dir_name): Likewise.
9208
92092022-03-07  Martin Liska  <mliska@suse.cz>
9210
9211	PR target/99297
9212	* config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
9213	string.
9214
92152022-03-07  Jakub Jelinek  <jakub@redhat.com>
9216
9217	PR target/104779
9218	* config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
9219	define_expand pattern.  Rename define_insn to ...
9220	(*avx512dq_mul<mode>3<mask_name>): ... this.
9221	(<code><mode>3_mask): New any_logic define_expand pattern.
9222	(<mask_codefor><code><mode>3<mask_name>): Rename to ...
9223	(*<code><mode>3<mask_name>): ... this.
9224
92252022-03-05  Jakub Jelinek  <jakub@redhat.com>
9226
9227	* gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
9228	visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
9229
92302022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
9231	    Uroš Bizjak  <ubizjak@gmail.com>
9232
9233	PR testsuite/104732
9234	* config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
9235	Include DI mode unconditionally.
9236	(*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
9237	i.e. always split on !TARGET_64BIT.
9238	(*<any_or>di3_doubleword): Likewise.
9239	(*one_cmpldi2_doubleword): Likewise.
9240	(and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
9241	(<any_or><mode>3 expander): Likewise.
9242	(one_cmpl<mode>2 expander): Likewise.
9243
92442022-03-05   Michael Meissner  <meissner@linux.ibm.com>
9245
9246	PR target/104698
9247	* config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
9248	(mtvsrdd_diti_w1): Delete.
9249	(extendditi2): Convert from define_expand to
9250	define_insn_and_split.  Replace with code to deal with both GPR
9251	registers and with altivec registers.
9252
92532022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
9254
9255	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
9256	bit.  Handle most older CPUs.
9257
92582022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
9259
9260	* config/darwin.cc (darwin_fold_builtin): Make fcode an int to
9261	avoid a mismatch with DECL_MD_FUNCTION_CODE().
9262
92632022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
9264
9265	PR target/104117
9266	* config/rs6000/darwin.md (@machopic_high_<mode>): New.
9267	(@machopic_low_<mode>): New.
9268	* config/rs6000/predicates.md (macho_pic_address): New.
9269	* config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
9270	apply the TLS processing to Darwin.
9271	* lra-constraints.cc (process_address_1): Revert the changes
9272	in r12-7209.
9273
92742022-03-04  Peter Bergner  <bergner@linux.ibm.com>
9275
9276	PR target/87496
9277	PR target/104208
9278	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
9279	ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
9280	-mlong-double-128.
9281	Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
9282	from here...
9283	* common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
9284	... to here.
9285
92862022-03-04  Jakub Jelinek  <jakub@redhat.com>
9287
9288	PR middle-end/104529
9289	* gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
9290	on automatic objects which will be runtime initialized.
9291
92922022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9293
9294	PR middle-end/100280
9295	PR middle-end/104132
9296	PR middle-end/104133
9297	* omp-low.cc (task_shared_vars): Rename to
9298	'make_addressable_vars'.  Adjust all users.
9299	(scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
9300	'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
9301
93022022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9303
9304	PR middle-end/100280
9305	* tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
9306	* tree-core.h: Document it.
9307	* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
9308	'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
9309	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
9310	Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
9311	'TREE_ADDRESSABLE'.
9312
93132022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9314
9315	PR middle-end/100280
9316	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
9317	Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
9318	'[...]' declared in block made addressable".
9319
93202022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
9321
9322	PR middle-end/100400
9323	PR middle-end/103836
9324	PR middle-end/104061
9325	* omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
9326	Catch 'GIMPLE_DEBUG'.
9327
93282022-03-04  Jakub Jelinek  <jakub@redhat.com>
9329
9330	PR c/104627
9331	* tree.cc (warn_deprecated_use): For types prefer to use node
9332	and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
9333	NULL.
9334
93352022-03-04  H.J. Lu  <hjl.tools@gmail.com>
9336
9337	PR target/104704
9338	* config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
9339	a pseudo register.
9340
93412022-03-03  Martin Sebor  <msebor@redhat.com>
9342
9343	PR middle-end/104761
9344	* gimple-ssa-warn-access.cc (pass_waccess::execute): Call
9345	mark_dfs_back_edges.
9346
93472022-03-03  Martin Liska  <mliska@suse.cz>
9348
9349	* configure.ac: Use linker plug-in by default.
9350	* configure: Regenerate.
9351
93522022-03-03  Martin Liska  <mliska@suse.cz>
9353
9354	* configure.ac: Now ld.mold support LTO plugin API, use it.
9355	* configure: Regenerate.
9356
93572022-03-03  Tom de Vries  <tdevries@suse.de>
9358
9359	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
9360
93612022-03-03  Tom de Vries  <tdevries@suse.de>
9362
9363	PR target/104758
9364	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
9365
93662022-03-03  Tom de Vries  <tdevries@suse.de>
9367
9368	* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
9369
93702022-03-03  Jakub Jelinek  <jakub@redhat.com>
9371
9372	PR middle-end/104757
9373	* gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
9374	gimplify_omp_for.
9375	(gimplify_expr) <case OMP_SIMD>: Temporarily disable
9376	gimplify_ctxp->into_ssa around call to gimplify_omp_for.
9377
93782022-03-03  Jakub Jelinek  <jakub@redhat.com>
9379
9380	PR middle-end/104558
9381	* calls.cc (store_one_arg): When not calling emit_push_insn
9382	because size_rtx is const0_rtx, call at least anti_adjust_stack
9383	on arg->locate.alignment_pad if !argblock and the alignment might
9384	be non-zero.
9385
93862022-03-02  Alexandre Oliva  <oliva@adacore.com>
9387
9388	* lra-constraints.cc (undo_optional_reloads): Recognize and
9389	drop insns of multi-word move sequences, tolerate removal
9390	iteration on an already-removed clobber, and refuse to
9391	substitute original pseudos into clobbers.
9392
93932022-03-02  Qing Zhao  <qing.zhao@oracle.com>
9394
9395	PR middle-end/102276
9396	* common.opt (-Wtrivial-auto-var-init): New option.
9397	* doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
9398	(-ftrivial-auto-var-init): Update option;
9399	* gimplify.cc (emit_warn_switch_unreachable): New function.
9400	(warn_switch_unreachable_r): Rename to ...
9401	(warn_switch_unreachable_and_auto_init_r): This.
9402	(maybe_warn_switch_unreachable): Rename to ...
9403	(maybe_warn_switch_unreachable_and_auto_init): This.
9404	(gimplify_switch_expr): Update calls to renamed function.
9405
94062022-03-02  Richard Biener  <rguenther@suse.de>
9407
9408	PR rtl-optimization/104686
9409	* ira-color.cc (object_conflicts_with_allocno_p): New function
9410	using a bitvector test instead of iterating when possible.
9411	(allocnos_conflict_p): Choose the best allocno to iterate over
9412	object conflicts.
9413	(update_conflict_hard_regno_costs): Do allocnos_conflict_p test
9414	last.
9415
94162022-03-02  Jakub Jelinek  <jakub@redhat.com>
9417
9418	* cfg.cc (dump_edge_info): Dump goto_locus if present.
9419
94202022-03-02  Jakub Jelinek  <jakub@redhat.com>
9421
9422	PR rtl-optimization/104589
9423	* cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
9424	INSN_LOCATION comparison with goto_locus.
9425
94262022-03-02  Jakub Jelinek  <jakub@redhat.com>
9427
9428	* tree-ssa-strlen.cc (strlen_pass::handle_assign,
9429	strlen_pass::before_dom_children): Comment spelling fixes.
9430
94312022-03-02  Jakub Jelinek  <jakub@redhat.com>
9432
9433	* ipa-modref-tree.cc (modref_access_node::contains,
9434	modref_access_node::closer_pair_p, modref_access_node::insert,
9435	modref_access_node::insert_kill): Comment spelling fixes.
9436	* ipa-modref.cc: Likewise.
9437	(modref_summary::finalize, ignore_nondeterminism_p,
9438	class modref_access_analysis,
9439	modref_access_analysis::set_side_effects,
9440	modref_access_analysis::set_nondeterministic,
9441	modref_access_analysis::record_global_memory_load,
9442	modref_access_analysis::propagate, modref_access_analysis::analyze,
9443	struct escape_point, class modref_lattice, modref_lattice::merge,
9444	modref_lattice::merge_deref, class modref_eaf_analysis,
9445	modref_eaf_analysis::merge_call_lhs_flags,
9446	modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
9447	modref_eaf_analysis::record_escape_points, remap_kills,
9448	update_escape_summary, remove_useless_summaries,
9449	ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
9450	Likewise.
9451	* ipa-modref.h (struct modref_summary, interposable_eaf_flags):
9452	Likewise.
9453	* ipa-modref-tree.h (enum modref_special_parms,
9454	struct modref_access_node): Likewise.
9455
94562022-03-01  Jakub Jelinek  <jakub@redhat.com>
9457
9458	PR tree-optimization/104715
9459	* gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
9460	unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
9461	of a call if gimple_call_return_arg is equal to ptr, not just when it
9462	is non-NULL.
9463
94642022-03-01  Jakub Jelinek  <jakub@redhat.com>
9465
9466	* gimple-ssa-warn-access.cc (warn_string_no_nul,
9467	maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
9468	matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
9469	pass_waccess::check_alloca, pass_waccess::check_strcat,
9470	memmodel_to_uhwi, fntype_argno_type,
9471	pass_waccess::maybe_check_access_sizes,
9472	pass_waccess::check_call_access,
9473	pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
9474	Comment spelling fixes.
9475
94762022-03-01  Richard Biener  <rguenther@suse.de>
9477
9478	PR tree-optimization/104716
9479	* tree-loop-distribution.cc (find_seed_stmts_for_distribution):
9480	Check if we can copy the loop.
9481
94822022-03-01  H.J. Lu  <hjl.tools@gmail.com>
9483
9484	PR middle-end/104721
9485	* cfgexpand.cc (expand_gimple_basic_block): Clear
9486	currently_expanding_gimple_stmt when returning inside the loop.
9487
94882022-03-01  Martin Liska  <mliska@suse.cz>
9489
9490	PR ipa/104533
9491	* multiple_target.cc (get_attr_len): Move to tree.c.
9492	(expand_target_clones): Remove single value checking.
9493	* tree.cc (get_target_clone_attr_len): New fn.
9494	* tree.h (get_target_clone_attr_len): Likewise.
9495
94962022-03-01  Martin Liska  <mliska@suse.cz>
9497
9498	PR gcov-profile/104677
9499	* doc/invoke.texi: Document more .gcda file name generation.
9500
95012022-03-01  Tom de Vries  <tdevries@suse.de>
9502
9503	PR target/102429
9504	* config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
9505	* config/nvptx/nvptx.md
9506	(define_predicate "nvptx_register_or_complex_di_df_register_operand"):
9507	New predicate.
9508	(define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
9509	Use nvptx_register_or_complex_di_df_register_operand.
9510
95112022-03-01  Tom de Vries  <tdevries@suse.de>
9512
9513	* config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
9514	* config/nvptx/gen-copyright.sh: New file.
9515	* config/nvptx/gen-h.sh: New file.
9516	* config/nvptx/gen-opt.sh: New file.
9517	* config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
9518	(TARGET_SM75, TARGET_SM80): Move ...
9519	* config/nvptx/nvptx-gen.h: ... here.  New file, generate.
9520	* config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
9521	* config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
9522	* config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
9523	($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
9524
95252022-03-01  Tom de Vries  <tdevries@suse.de>
9526
9527	* config/nvptx/gen-omp-device-properties.sh: New file.
9528	* config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
9529
95302022-03-01  Tom de Vries  <tdevries@suse.de>
9531
9532	* config/nvptx/nvptx-sm.def: New file.
9533	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
9534	* config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
9535	* config/nvptx/nvptx.cc (sm_version_to_string)
9536	(nvptx_omp_device_kind_arch_isa): Same.
9537
95382022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
9539
9540	PR rtl-optimization/104154
9541	* config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
9542	comparison ifcvt passed us.
9543
95442022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
9545
9546	PR target/104664
9547	* config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
9548	  Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
9549
95502022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
9551
9552	PR tree-optimization/91384
9553	* config/i386/i386.md (peephole2): Eliminate final testl insn
9554	from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
9555	transforming using *negsi_2 for the negation.
9556
95572022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
9558	    Eric Botcazou  <ebotcazou@adacore.com>
9559
9560	PR middle-end/80270
9561	* expmed.cc (extract_integral_bit_field): If OP0 is a hard
9562	register, copy it to a pseudo before calling simplify_gen_subreg.
9563
95642022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
9565
9566	PR rtl-optimization/104637
9567	* lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
9568	as possible on one subpass.
9569
95702022-02-28  Qing Zhao  <qing.zhao@oracle.com>
9571
9572	PR middle-end/104550
9573	* gimple-fold.cc (clear_padding_flush): Suppress warnings for new
9574	created uses.
9575
95762022-02-28  Martin Liska  <mliska@suse.cz>
9577
9578	PR ipa/104648
9579	* main.cc (main): Use flag_checking instead of CHECKING_P
9580	and run toplev::finalize only if there is not error seen.
9581
95822022-02-28  Richard Biener  <rguenther@suse.de>
9583
9584	* tree-ssa-pre.cc (compute_avail): Revert part of last change.
9585
95862022-02-28  Richard Biener  <rguenther@suse.de>
9587
9588	PR tree-optimization/104700
9589	* tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
9590	into ...
9591	(find_or_generate_expression): ... here, simplifying code.
9592
95932022-02-28  Tom de Vries  <tdevries@suse.de>
9594
9595	* config/nvptx/nvptx-opts.h (enum ptx_version): Add
9596	PTX_VERSION_default.
9597	* config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
9598	PTX_VERSION_default.
9599	* config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
9600
96012022-02-28  Richard Biener  <rguenther@suse.de>
9602
9603	PR rtl-optimization/104686
9604	* ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
9605	skipping bits that are zero.
9606	(ira_object_conflict_iter_cond): Likewise.
9607
96082022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
9609
9610	* config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
9611	(_mm512_ternarylogic_epi64): Truncate imm to unsigned
9612	char to avoid error when using ~enum as parameter.
9613	(_mm512_mask_ternarylogic_epi64): Likewise.
9614	(_mm512_maskz_ternarylogic_epi64): Likewise.
9615	(_mm512_ternarylogic_epi32): Likewise.
9616	(_mm512_mask_ternarylogic_epi32): Likewise.
9617	(_mm512_maskz_ternarylogic_epi32): Likewise.
9618	* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
9619	Adjust imm param type to unsigned char.
9620	(_mm256_mask_ternarylogic_epi64): Likewise.
9621	(_mm256_maskz_ternarylogic_epi64): Likewise.
9622	(_mm256_ternarylogic_epi32): Likewise.
9623	(_mm256_mask_ternarylogic_epi32): Likewise.
9624	(_mm256_maskz_ternarylogic_epi32): Likewise.
9625	(_mm_ternarylogic_epi64): Likewise.
9626	(_mm_mask_ternarylogic_epi64): Likewise.
9627	(_mm_maskz_ternarylogic_epi64): Likewise.
9628	(_mm_ternarylogic_epi32): Likewise.
9629	(_mm_mask_ternarylogic_epi32): Likewise.
9630	(_mm_maskz_ternarylogic_epi32): Likewise.
9631
96322022-02-25  Jakub Jelinek  <jakub@redhat.com>
9633	    Marc Glisse  <marc.glisse@inria.fr>
9634
9635	PR tree-optimization/104675
9636	* match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
9637	Restrict simplifications to INTEGRAL_TYPE_P.
9638
96392022-02-25  Jakub Jelinek  <jakub@redhat.com>
9640
9641	PR target/104681
9642	* config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
9643
96442022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
9645
9646	* config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
9647	comparison is not valid.
9648	* config/arc/arc.md (movsicc): Fail if comparison is not valid.
9649	(movdicc): Likewise.
9650	(movsfcc): Likewise.
9651	(movdfcc): Likewise.
9652
96532022-02-25  Richard Biener  <rguenther@suse.de>
9654
9655	PR tree-optimization/103037
9656	* tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
9657	(vn_nary_length_from_stmt): Likewise.
9658	(init_vn_nary_op_from_stmt): Likewise.
9659	(vn_nary_op_compute_hash): Likewise.
9660	* tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
9661	(vn_nary_length_from_stmt): Likewise.
9662	(init_vn_nary_op_from_stmt): Likewise.
9663	(vn_nary_op_compute_hash): Likewise.
9664	* tree-ssa-pre.cc (pre_expr_obstack): New obstack.
9665	(get_or_alloc_expr_for_nary): Pass in the value-id to use,
9666	(re-)compute the hash value and if the expression is not
9667	found allocate it from pre_expr_obstack.
9668	(phi_translate_1): Do not insert the NARY found in the
9669	VN tables but build a PRE expression from the valueized
9670	NARY with the value-id we eventually found.
9671	(find_or_generate_expression): Assert we have an entry
9672	for constant values.
9673	(compute_avail): Insert not valueized expressions into
9674	EXP_GEN using the value-id from the VN tables.
9675	(init_pre): Allocate pre_expr_obstack.
9676	(fini_pre): Free pre_expr_obstack.
9677
96782022-02-25  Jakub Jelinek  <jakub@redhat.com>
9679
9680	PR target/104674
9681	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
9682	* config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
9683	SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
9684
96852022-02-25  Jakub Jelinek  <jakub@redhat.com>
9686
9687	* warning-control.cc (get_nowarn_spec): Comment spelling fix.
9688
96892022-02-25  Jakub Jelinek  <jakub@redhat.com>
9690
9691	PR middle-end/104679
9692	* internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
9693
96942022-02-25  Jakub Jelinek  <jakub@redhat.com>
9695
9696	PR tree-optimization/104675
9697	* match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
9698	COMPLEX_TYPE.
9699
97002022-02-25  Alexandre Oliva  <oliva@adacore.com>
9701
9702	PR target/104121
9703	PR target/103302
9704	* expr.cc (emit_move_multi_word): Restore clobbers during LRA.
9705
97062022-02-25  Alexandre Oliva  <oliva@adacore.com>
9707
9708	PR middle-end/104540
9709	* dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
9710	dw_cfi_cfa_loc.
9711
97122022-02-25  Alexandre Oliva  <oliva@adacore.com>
9713
9714	PR tree-optimization/103856
9715	* gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
9716	eh edge to be requested through an extra parameter.
9717	(pass_harden_compares::execute): Copy PHI args in the EH dest
9718	block for the new EH edge added for the inverted compare.
9719
97202022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
9721
9722	* doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
9723	of position independence that -mcmodel=medany affords.
9724
97252022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
9726
9727	PR target/104656
9728	* configure.ac: --disable-gcov if targetting bpf-*.
9729	* configure: Regenerate.
9730
97312022-02-24  Richard Biener  <rguenther@suse.de>
9732
9733	PR tree-optimization/104676
9734	* tree-loop-distribution.cc (loop_distribution::execute):
9735	Do a full scev_reset.
9736
97372022-02-24  Jakub Jelinek  <jakub@redhat.com>
9738
9739	PR tree-optimization/104601
9740	* tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
9741	non-SSA_NAME lhs value number vdef to itself instead of e.g. the
9742	vuse value number.
9743
97442022-02-24  Tom de Vries  <tdevries@suse.de>
9745	    Tobias Burnus  <tobias@codesourcery.com>
9746
9747	* config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
9748	sm_70, sm_75 and sm_80.
9749	* config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
9750
97512022-02-24  Tom de Vries  <tdevries@suse.de>
9752
9753	* config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
9754	"rotrsi3"): New define_insn.
9755
97562022-02-24  Tom de Vries  <tdevries@suse.de>
9757
9758	* config/nvptx/nvptx.cc (gen_comment): Use
9759	DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
9760
97612022-02-24  liuhongt  <hongtao.liu@intel.com>
9762
9763	* config/i386/sse.md (<code>v1ti3): Add suffix and replace
9764	isa attr of alternative 2 from avx to avx512vl.
9765
97662022-02-23  Richard Biener  <rguenther@suse.de>
9767	    Jakub Jelinek  <jakub@redhat.com>
9768
9769	PR tree-optimization/104644
9770	* doc/match-and-simplify.texi: Amend ! documentation.
9771	* genmatch.cc (expr::gen_transform): Code-generate ! support
9772	for GENERIC.
9773	(parser::parse_expr): Allow ! for GENERIC.
9774	* match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
9775	bswap.
9776
97772022-02-23  Richard Biener  <rguenther@suse.de>
9778
9779	PR tree-optimization/101636
9780	* tree-vect-slp.cc (vect_print_slp_tree): Dump the
9781	vector type of the node.
9782	(vect_slp_analyze_operations): Make sure the CTOR
9783	is vectorized with an expected type.
9784	(vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
9785
97862022-02-23  Jakub Jelinek  <jakub@redhat.com>
9787
9788	PR c/104633
9789	* gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
9790	Don't warn about calls to corresponding builtin from extern inline
9791	gnu_inline wrappers.
9792
97932022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
9794
9795	PR target/104489
9796	* config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
9797
97982022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
9799
9800	PR target/100757
9801	PR target/101325
9802	* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
9803	typo.
9804
98052022-02-23  Cui,Lili  <lili.cui@intel.com>
9806
9807	* doc/invoke.texi: Update documents for Intel architectures.
9808
98092022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
9810
9811	* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
9812	bootstrap.
9813
98142022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
9815
9816	* omp-low.cc (omp_build_component_ref): Move function...
9817	* omp-general.cc (omp_build_component_ref): ... here.  Remove
9818	'static'.
9819	* omp-general.h (omp_build_component_ref): Declare function.
9820	* omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
9821	function.
9822	(build_receiver_ref, build_sender_ref): Call
9823	'omp_build_component_ref' instead.
9824
98252022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
9826
9827	* omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
9828	simplify.  Adjust all users.
9829
98302022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
9831
9832	PR target/88134
9833	* config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
9834	atomic_update_decl): Add GTY markup.
9835
98362022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9837
9838	* config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
9839
98402022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9841
9842	PR target/100757
9843	PR target/101325
9844	* config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
9845	predicate.
9846	(CX_BINARY_UNONE_QUALIFIERS): Likewise.
9847	(CX_TERNARY_UNONE_QUALIFIERS): Likewise.
9848	(TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
9849	(QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
9850	(QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
9851	* config/arm/arm_mve_builtins.def: Use predicated qualifiers.
9852	* config/arm/mve.md: Use VxBI instead of HI.
9853
98542022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9855
9856	PR target/100757
9857	PR target/101325
9858	* config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
9859	qualifier.
9860	(STRSBU_P_QUALIFIERS): Likewise.
9861	(LDRGBS_Z_QUALIFIERS): Likewise.
9862	(LDRGBU_Z_QUALIFIERS): Likewise.
9863	(LDRGBWBXU_Z_QUALIFIERS): Likewise.
9864	(LDRGBWBS_Z_QUALIFIERS): Likewise.
9865	(LDRGBWBU_Z_QUALIFIERS): Likewise.
9866	(STRSBWBS_P_QUALIFIERS): Likewise.
9867	(STRSBWBU_P_QUALIFIERS): Likewise.
9868	* config/arm/mve.md: Use VxBI instead of HI.
9869
98702022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9871
9872	PR target/100757
9873	PR target/101325
9874	* config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
9875	(TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
9876	(TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9877	(TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9878	(TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9879	(TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9880	(TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
9881	(TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
9882	(QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
9883	(QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
9884	(QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
9885	(QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9886	(QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9887	(QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
9888	(QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9889	(QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9890	(QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9891	(QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9892	(QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9893	(QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9894	(QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
9895	(QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
9896	(STRS_P_QUALIFIERS): Use predicate qualifier.
9897	(STRU_P_QUALIFIERS): Likewise.
9898	(STRSU_P_QUALIFIERS): Likewise.
9899	(STRSS_P_QUALIFIERS): Likewise.
9900	(LDRGS_Z_QUALIFIERS): Likewise.
9901	(LDRGU_Z_QUALIFIERS): Likewise.
9902	(LDRS_Z_QUALIFIERS): Likewise.
9903	(LDRU_Z_QUALIFIERS): Likewise.
9904	(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9905	(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9906	(BINOP_NONE_NONE_PRED_QUALIFIERS): New.
9907	(BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
9908	* config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
9909	* config/arm/mve.md: Use MVE_VPRED instead of HI.
9910
99112022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9912
9913	PR target/100757
9914	PR target/101325
9915	* config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
9916	Delete.
9917	(TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
9918	(TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
9919	(TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
9920	* config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
9921	predicated qualifiers.
9922	* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
9923	(mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
9924
99252022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9926
9927	PR target/100757
9928	* config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
9929	(arm_expand_vector_compare): Update prototype.
9930	* config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
9931	(arm_vector_mode_supported_p): Add support for VxBI modes.
9932	(arm_expand_vector_compare): Remove useless generation of vpsel.
9933	(arm_expand_vcond): Fix select operands.
9934	(arm_get_mask_mode): New.
9935	* config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
9936	(vec_cmpu<mode><MVE_vpred>): New.
9937	(vcond_mask_<mode><MVE_vpred>): New.
9938	* config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
9939	(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
9940	* config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
9941	(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
9942	and disable for MVE.
9943	* doc/sourcebuild.texi (arm_mve): Document new effective-target.
9944
99452022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9946
9947	PR target/100757
9948	PR target/101325
9949	* config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
9950	(BINOP_PRED_NONE_NONE_QUALIFIERS)
9951	(TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
9952	(TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
9953	* config/arm/arm-protos.h (mve_bool_vec_to_const): New.
9954	* config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
9955	modes.
9956	(arm_mode_to_pred_mode): New.
9957	(arm_expand_vector_compare): Use the right VxBI mode instead of
9958	HI.
9959	(arm_expand_vcond): Likewise.
9960	(simd_valid_immediate): Handle MODE_VECTOR_BOOL.
9961	(mve_bool_vec_to_const): New.
9962	(neon_make_constant): Call mve_bool_vec_to_const when needed.
9963	* config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
9964	(vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
9965	(vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
9966	(vpselq_s, vpselq_f): Use new predicated qualifiers.
9967	* config/arm/constraints.md (DB): New.
9968	* config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
9969	(MVE_VPRED, MVE_vpred): New attribute iterators.
9970	* config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
9971	(@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
9972	(@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
9973	(@mve_vpselq_<supf>v2di): Define separately.
9974	(mov<mode>): New expander for VxBI modes.
9975	* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
9976	MVE_7_HI iterator and add support for DB constraint.
9977
99782022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
9979	    Richard Sandiford  <richard.sandiford@arm.com>
9980
9981	PR target/100757
9982	PR target/101325
9983	* config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
9984	VNx2BI): Update definition.
9985	* config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
9986	simd types.
9987	(arm_init_builtin): Map predicate vectors arguments to HImode.
9988	(arm_expand_builtin_args): Move HImode predicate arguments to VxBI
9989	rtx. Move return value to HImode rtx.
9990	* config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
9991	* config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
9992	* config/arm/arm-simd-builtin-types.def (Pred1x16_t,
9993	Pred2x8_t,Pred4x4_t): New.
9994	* emit-rtl.cc (init_emit_once): Handle all boolean modes.
9995	* genmodes.cc (mode_data): Add boolean field.
9996	(blank_mode): Initialize it.
9997	(make_complex_modes): Fix handling of boolean modes.
9998	(make_vector_modes): Likewise.
9999	(VECTOR_BOOL_MODE): Use new COMPONENT parameter.
10000	(make_vector_bool_mode): Likewise.
10001	(BOOL_MODE): New.
10002	(make_bool_mode): New.
10003	(emit_insn_modes_h): Fix generation of boolean modes.
10004	(emit_class_narrowest_mode): Likewise.
10005	* machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
10006	parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
10007	define BImode.
10008	* rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
10009	Fix handling of constm1_rtx for VECTOR_BOOL.
10010	* simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
10011	(native_decode_vector_rtx): Likewise.
10012	(test_vector_ops_duplicate): Skip vec_merge test
10013	with vectors of booleans.
10014	* varasm.cc (output_constant_pool_2): Likewise.
10015
100162022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
10017
10018	* config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
10019	for operand 1.
10020
100212022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
10022
10023	* config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
10024
100252022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
10026
10027	* config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
10028	(REG_CLASS_NAMES): Likewise.
10029	(REG_CLASS_CONTENTS): Likewise.
10030	(CLASS_MAX_NREGS): Handle VPR.
10031	* config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
10032
100332022-02-22  Tobias Burnus  <tobias@codesourcery.com>
10034	    Tom de Vries  <tdevries@suse.de>
10035
10036	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
10037	* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
10038	Likewise.
10039	* config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
10040
100412022-02-22  Tobias Burnus  <tobias@codesourcery.com>
10042	    Tom de Vries  <tdevries@suse.de>
10043
10044	* config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
10045	* doc/invoke.texi (-mptx): Update for new values and defaults.
10046
100472022-02-22  Tom de Vries  <tdevries@suse.de>
10048
10049	* config/nvptx/nvptx.cc (gen_comment): New function.
10050	(workaround_uninit_method_1, workaround_uninit_method_2)
10051	(workaround_uninit_method_3): : Use gen_comment.
10052	* config/nvptx/nvptx.opt (mptx-comment): New option.
10053
100542022-02-22  Richard Biener  <rguenther@suse.de>
10055
10056	* tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
10057	for a splat.
10058
100592022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
10060	    Richard Biener  <rguenther@suse.de>
10061
10062	* fold-const.cc (ctor_single_nonzero_element): New function to
10063	return the single non-zero element of a (vector) constructor.
10064	* fold-const.h (ctor_single_nonzero_element): Prototype here.
10065	* match.pd (reduc (constructor@0)): Simplify reductions of a
10066	constructor containing a single non-zero element.
10067	(reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
10068	reductions of vector operations of the same operator with
10069	constant vector operands.
10070
100712022-02-22  Jakub Jelinek  <jakub@redhat.com>
10072
10073	PR tree-optimization/104604
10074	* gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
10075	Only check if gimple_assign_rhs1 is COMPLEX_CST if
10076	gimple_assign_rhs_code is COMPLEX_CST.
10077
100782022-02-22  Jakub Jelinek  <jakub@redhat.com>
10079
10080	PR target/104612
10081	* config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
10082	on input operands before calling lowpart_subreg on it.  For output
10083	operand, use a vmode pseudo as destination and then move its lowpart
10084	subreg into operands[0] if lowpart_subreg fails on dest.
10085	(ix86_expand_xorsign): Likewise.
10086
100872022-02-22  Richard Biener  <rguenther@suse.de>
10088
10089	PR tree-optimization/104582
10090	PR target/99881
10091	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
10092	Cost GPR to vector register moves for integer vector construction.
10093
100942022-02-22  Richard Biener  <rguenther@suse.de>
10095
10096	PR tree-optimization/104582
10097	* tree-vectorizer.h (stmt_info_for_cost::node): New field.
10098	(vector_costs::add_stmt_cost): Add SLP node parameter.
10099	(dump_stmt_cost): Likewise.
10100	(add_stmt_cost): Likewise, new overload and adjust.
10101	(add_stmt_costs): Adjust.
10102	(record_stmt_cost): New overload.
10103	* tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
10104	(vector_costs::add_stmt_cost): Adjust.
10105	* tree-vect-loop.cc (vect_estimate_min_profitable_iters):
10106	Adjust.
10107	* tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
10108	the SLP node for costing.
10109	(vectorizable_slp_permutation): Likewise.
10110	* tree-vect-stmts.cc (record_stmt_cost): Adjust and add
10111	new overloads.
10112	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
10113	Adjust.
10114	* config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
10115	Adjust.
10116	* config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
10117	Adjust.
10118	(rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
10119
101202022-02-22  Richard Biener  <rguenther@suse.de>
10121
10122	PR tree-optimization/104582
10123	* tree-vectorizer.h (add_stmt_cost): New overload.
10124	(record_stmt_cost): Likewise.
10125	* tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
10126	Use add_stmt_costs.
10127	(vect_get_known_peeling_cost): Use new overloads.
10128	(vect_estimate_min_profitable_iters): Likewise.  Consistently
10129	use scalar_stmt for costing versioning checks.
10130	* tree-vect-stmts.cc (record_stmt_cost): New overload.
10131
101322022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
10133
10134	PR target/103069
10135	* config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
10136	Split atomic fetch and loop part.
10137	(ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
10138	* config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
10139	prototype.
10140	* config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
10141	expander under TARGET_RELAX_CMPXCHG_LOOP.
10142	(atomic_compare_and_swap<mode>): Likewise for doubleword modes.
10143
101442022-02-21  Dan Li  <ashimida@linux.alibaba.com>
10145
10146	* config/aarch64/aarch64.cc (SLOT_REQUIRED):
10147	Change wb_candidate[12] to wb_push_candidate[12].
10148	(aarch64_layout_frame): Likewise, and
10149	change callee_adjust when scs is enabled.
10150	(aarch64_save_callee_saves):
10151	Change wb_candidate[12] to wb_push_candidate[12].
10152	(aarch64_restore_callee_saves):
10153	Change wb_candidate[12] to wb_pop_candidate[12].
10154	(aarch64_get_separate_components):
10155	Change wb_candidate[12] to wb_push_candidate[12].
10156	(aarch64_expand_prologue): Push x30 onto SCS before it's
10157	pushed onto stack.
10158	(aarch64_expand_epilogue): Pop x30 frome SCS, while
10159	preventing it from being popped from the regular stack again.
10160	(aarch64_override_options_internal): Add SCS compile option check.
10161	(TARGET_HAVE_SHADOW_CALL_STACK): New hook.
10162	* config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
10163	wb_pop_candidate[12], and rename wb_candidate[12] to
10164	wb_push_candidate[12].
10165	* config/aarch64/aarch64.md (scs_push): New template.
10166	(scs_pop): Likewise.
10167	* doc/invoke.texi: Document -fsanitize=shadow-call-stack.
10168	* doc/tm.texi: Regenerate.
10169	* doc/tm.texi.in: Add hook have_shadow_call_stack.
10170	* flag-types.h (enum sanitize_code):
10171	Add SANITIZE_SHADOW_CALL_STACK.
10172	* opts.cc (parse_sanitizer_options): Add shadow-call-stack
10173	and exclude SANITIZE_SHADOW_CALL_STACK.
10174	* target.def: New hook.
10175	* toplev.cc (process_options): Add SCS compile option check.
10176	* ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
10177
101782022-02-21  Tom de Vries  <tdevries@suse.de>
10179
10180	PR target/104440
10181	* config/nvptx/nvptx.cc (workaround_uninit_method_1)
10182	(workaround_uninit_method_2, workaround_uninit_method_3)
10183	(workaround_uninit): New function.
10184	(nvptx_reorg): Use workaround_uninit.
10185	* config/nvptx/nvptx.opt (minit-regs): New option.
10186
101872022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10188
10189	PR rtl-optimization/104498
10190	* alias.cc (compare_base_symbol_refs): Correct distance computation
10191	when swapping x and y.
10192
101932022-02-21  Andrew Pinski  <apinski@marvell.com>
10194
10195	PR c/104506
10196	* tree-ssa.cc (tree_ssa_useless_type_conversion):
10197	Check the inner type before calling useless_type_conversion_p.
10198
101992022-02-19  Tom de Vries  <tdevries@suse.de>
10200
10201	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
10202	* config/nvptx/nvptx.md
10203	(define_insn "nvptx_atomic_store<mode>"): Rename to ...
10204	(define_insn "nvptx_atomic_store_sm70<mode>"): This.
10205	(define_insn "nvptx_atomic_store<mode>"): New define_insn.
10206	(define_expand "atomic_store<mode>"): Handle rename.  Use
10207	nvptx_atomic_store instead of atomic_exchange.
10208
102092022-02-19  Tom de Vries  <tdevries@suse.de>
10210
10211	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
10212	insns with atomic attribute.  Assert that all handled insns are
10213	PARALLELs.
10214	* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
10215	Set atomic attribute to false.
10216
102172022-02-19  Tom de Vries  <tdevries@suse.de>
10218
10219	* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
10220	type to bool.
10221	(nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
10222	nvptx_warpsync, if necessary.
10223
102242022-02-19  Jakub Jelinek  <jakub@redhat.com>
10225
10226	PR sanitizer/102656
10227	* asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
10228	known to be within bounds, treat it like automatic variables.
10229	If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
10230	current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
10231	it addressable.
10232
102332022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
10234
10235	* config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
10236	(mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
10237	mpower10-fusion-logical-add, mpower10-fusion-add-logical,
10238	mpower10-fusion-2add, mpower10-fusion-2store): Remove.
10239	* config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
10240	OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
10241	* config/rs6000/rs6000.cc (rs6000_option_override_internal,
10242	power10_sched_reorder): Likewise.
10243	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
10244	gen_addadd): Likewise
10245	* config/rs6000/fusion.md: Regenerate.
10246
102472022-02-18  Jakub Jelinek  <jakub@redhat.com>
10248
10249	PR target/104257
10250	PR target/104598
10251	* config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
10252	rather than __posix_memalign.
10253
102542022-02-18  Richard Biener  <rguenther@suse.de>
10255
10256	PR target/104581
10257	* config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
10258	(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
10259	of calling ix86_avx_u128_mode_source which would eventually
10260	have returned AVX_U128_ANY in some very special case.
10261
102622022-02-18  Richard Biener  <rguenther@suse.de>
10263
10264	PR tree-optimization/96881
10265	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
10266	CLOBBER handling.
10267	(control_parents_preserved_p): New function.
10268	(eliminate_unnecessary_stmts): Check that we preserved control
10269	parents before retaining a CLOBBER.
10270	(perform_tree_ssa_dce): Pass down aggressive flag
10271	to eliminate_unnecessary_stmts.
10272
102732022-02-17  Jason Merrill  <jason@redhat.com>
10274
10275	* tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
10276	on TYPE_MAIN_VARIANT.
10277
102782022-02-17  Paul A. Clarke  <pc@us.ibm.com>
10279
10280	PR target/104257
10281	* config/rs6000/bmi2intrin.h: Uglify local variables.
10282	* config/rs6000/emmintrin.h: Likewise.
10283	* config/rs6000/mm_malloc.h: Likewise.
10284	* config/rs6000/mmintrin.h: Likewise.
10285	* config/rs6000/pmmintrin.h: Likewise.
10286	* config/rs6000/smmintrin.h: Likewise.
10287	* config/rs6000/tmmintrin.h: Likewise.
10288	* config/rs6000/xmmintrin.h: Likewise.
10289
102902022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
10291
10292	PR target/104335
10293	* config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
10294	if the expected comparison's first operand is of mode MODE_CC.
10295
102962022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
10297
10298	PR rtl-optimization/104447
10299	* lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
10300	hard reg set by lra_no_alloc_regs.
10301
103022022-02-17  liuhongt  <hongtao.liu@intel.com>
10303
10304	PR tree-optimization/104551
10305	PR tree-optimization/103771
10306	* match.pd (cond_expr_convert_p): Add types_match check when
10307	convert is extension.
10308	* tree-vect-patterns.cc
10309	(gimple_cond_expr_convert_p): Adjust comments.
10310	(vect_recog_cond_expr_convert_pattern): Ditto.
10311
103122022-02-17  Jakub Jelinek  <jakub@redhat.com>
10313
10314	PR debug/104557
10315	* valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
10316	if expr has VOIDmode.
10317
103182022-02-17  liuhongt  <hongtao.liu@intel.com>
10319
10320	* config/i386/cpuid.h (bit_MPX): Removed.
10321	(bit_BNDREGS): Ditto.
10322	(bit_BNDCSR): Ditto.
10323
103242022-02-17  Michael Meissner  <meissner@the-meissners.org>
10325
10326	PR target/99708
10327	* config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
10328	__SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
10329	Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
10330	is created.
10331
103322022-02-16  Andrew MacLeod  <amacleod@redhat.com>
10333
10334	* gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
10335	range_compatible_p instead of direct type comparison.
10336
103372022-02-16  Jakub Jelinek  <jakub@redhat.com>
10338
10339	PR rtl-optimization/104544
10340	* combine.cc (try_combine): When looking for insn whose links
10341	should be updated from i3 to i2, don't stop on debug insns, instead
10342	skip over them.
10343
103442022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
10345
10346	PR target/100056
10347	* config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
10348	* config/aarch64/aarch64.md: Extend the PR100056 patterns
10349	to handle plus in the same way as ior, if the operands have
10350	no set bits in common.
10351
103522022-02-15  Andrew MacLeod  <amacleod@redhat.com>
10353
10354	PR tree-optimization/104526
10355	* gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
10356	new routine.
10357	* gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
10358	of dependency chain if there isn't one.
10359	(gori_compute::condexpr_adjust): New.
10360	* gimple-range-gori.h (class gori_compute): New prototype.
10361
103622022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
10363
10364	PR target/100874
10365	* config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
10366	Declare.
10367	* config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
10368	* config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
10369
103702022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
10371
10372	* tree-vectorizer.h (vect_scalar_ops_slice): New struct.
10373	(vect_scalar_ops_slice_hash): Likewise.
10374	(vect_scalar_ops_slice::op): New function.
10375	* tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
10376	(vect_scalar_ops_slice_hash::hash): Likewise.
10377	(vect_scalar_ops_slice_hash::equal): Likewise.
10378	(vect_prologue_cost_for_slp): Check for duplicate vectors.
10379	* config/aarch64/aarch64.cc
10380	(aarch64_vector_costs::m_stp_sequence_cost): New member variable.
10381	(aarch64_aligned_constant_offset_p): New function.
10382	(aarch64_stp_sequence_cost): Likewise.
10383	(aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
10384	(aarch64_vector_costs::finish_cost): Likewise.
10385
103862022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
10387
10388	* tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
10389	use after free.
10390
103912022-02-15  Richard Biener  <rguenther@suse.de>
10392
10393	PR tree-optimization/104543
10394	* gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
10395	come after the inner loop.
10396
103972022-02-15  Jakub Jelinek  <jakub@redhat.com>
10398
10399	PR target/104536
10400	* config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
10401	cannot instead of can%'t in diagnostics.  Formatting fixes.
10402
104032022-02-15  Jakub Jelinek  <jakub@redhat.com>
10404
10405	PR middle-end/104522
10406	* fold-const.h (native_interpret_real): Declare.
10407	* fold-const.cc (native_interpret_real): No longer static.  Don't
10408	perform MODE_COMPOSITE_P verification here.
10409	(native_interpret_expr) <case REAL_TYPE>: But perform it here instead
10410	for all modes.
10411	* gimple-fold.cc (clear_padding_type): Call native_interpret_real
10412	instead of native_interpret_expr.
10413	* simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
10414	and comparison verification for all FLOAT_MODE_P modes, not just
10415	MODE_COMPOSITE_P.
10416
104172022-02-15  Richard Biener  <rguenther@suse.de>
10418
10419	PR tree-optimization/104519
10420	* fold-const.cc (multiple_of_p): Remove never true condition.
10421	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
10422	the appropriate types for determining whether the difference
10423	of final and base is a multiple of the step.
10424
104252022-02-15  Jakub Jelinek  <jakub@redhat.com>
10426
10427	PR debug/104517
10428	* omp-low.cc (task_cpyfns): New variable.
10429	(delete_omp_context): Don't call finalize_task_copyfn from here.
10430	(create_task_copyfn): Push task_stmt into task_cpyfns.
10431	(execute_lower_omp): Call finalize_task_copyfn here on entries from
10432	task_cpyfns vector and release the vector.
10433
104342022-02-14  Martin Sebor  <msebor@redhat.com>
10435
10436	PR middle-end/104355
10437	* doc/invoke.texi (-Warray-bounds): Update documentation.
10438
104392022-02-14  Michael Meissner  <meissner@the-meissners.org>
10440
10441	PR target/104253
10442	* config/rs6000/rs6000.cc (init_float128_ibm): Update the
10443	conversion functions used to convert IFmode types.
10444
104452022-02-14  Andrew Stubbs  <ams@codesourcery.com>
10446
10447	* config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
10448
104492022-02-14  Richard Biener  <rguenther@suse.de>
10450
10451	PR tree-optimization/104528
10452	* tree-ssa.h (find_released_ssa_name): Declare.
10453	* tree-ssa.cc (find_released_ssa_name): Export.
10454	* cfgloop.cc (verify_loop_structure): Look for released
10455	SSA names in loops nb_iterations.
10456	* tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
10457	estimates.
10458
104592022-02-14  Richard Biener  <rguenther@suse.de>
10460
10461	PR tree-optimization/104511
10462	* tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
10463	touching DFP <-> FP conversions.
10464
104652022-02-14  Richard Biener  <rguenther@suse.de>
10466
10467	PR middle-end/104497
10468	* gimplify.cc (gimplify_compound_lval): Make sure the
10469	base is a non-register if needed and possible.
10470
104712022-02-13  liuhongt  <hongtao.liu@intel.com>
10472
10473	PR target/103771
10474	* match.pd (cond_expr_convert_p): New match.
10475	* tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
10476	(vect_recog_cond_expr_convert_pattern): New.
10477
104782022-02-12  Jakub Jelinek  <jakub@redhat.com>
10479
10480	PR sanitizer/104449
10481	* asan.cc: Include tree-eh.h.
10482	(handle_builtin_alloca): Handle the case when __builtin_alloca or
10483	__builtin_alloca_with_align can throw.
10484
104852022-02-12  Jakub Jelinek  <jakub@redhat.com>
10486
10487	PR target/104502
10488	* config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
10489	and AVX512VL isn't available, move operands[1] to operands[0] first.
10490
104912022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
10492
10493	PR target/79754
10494	* config/i386/i386.cc (type_natural_mode):
10495	Skip decimal float vector modes.
10496
104972022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
10498	    Vladimir Makarov  <vmakarov@redhat.com>
10499
10500	PR target/104117
10501	* config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
10502	Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
10503	emitting PIC code.
10504	(legitimate_lo_sum_address_p): Likewise.
10505	* lra-constraints.cc (process_address_1): Do not attempt to emit a reg
10506	load from an invalid lo_sum address.
10507
105082022-02-11  Jakub Jelinek  <jakub@redhat.com>
10509
10510	PR tree-optimization/104499
10511	* match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
10512	of convert.
10513
105142022-02-11  Jakub Jelinek  <jakub@redhat.com>
10515
10516	* tree.cc (build_common_builtin_nodes): Fix up formatting in
10517	__builtin_clear_padding decl creation.
10518	* gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
10519	for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
10520	argument rather than in 3rd argument.
10521	(gimplify_call_expr): Likewise.  Fix up comment formatting.
10522	* gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
10523	2 arguments instead of 3, take for_auto_init from the value
10524	of 2nd argument.
10525
105262022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
10527
10528	PR rtl-optimization/104400
10529	* lra-constraints.cc (process_alt_operands): Don't make union of
10530	this_alternative_exclude_start_hard_regs when reg class in insn
10531	alternative covers other reg classes in the same alternative.
10532
105332022-02-11  Jakub Jelinek  <jakub@redhat.com>
10534
10535	PR middle-end/104446
10536	* combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
10537	operands.
10538
105392022-02-11  Richard Biener  <rguenther@suse.de>
10540
10541	PR middle-end/104496
10542	* internal-fn.cc (vectorized_internal_fn_supported_p):
10543	Bail out for integer mode vector types.
10544
105452022-02-11  Jakub Jelinek  <jakub@redhat.com>
10546
10547	PR rtl-optimization/104459
10548	* df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
10549	moving DEBUG_INSNs between bbs.
10550
105512022-02-11  liuhongt  <hongtao.liu@intel.com>
10552
10553	PR tree-optimization/104479
10554	* match.pd (uncond_op + vec_cond -> cond_op): Add single_use
10555	for the dest of uncond_op.
10556
105572022-02-11  Tom de Vries  <tdevries@suse.de>
10558
10559	PR target/104456
10560	* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
10561	insn.
10562
105632022-02-10  Qing Zhao  <qing.zhao@oracle.com>
10564
10565	PR middle-end/100775
10566	* function.cc (gen_call_used_regs_seq): Call
10567	df_update_exit_block_uses when updating df.
10568
105692022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
10570
10571	PR target/104469
10572	* config/i386/sse.md (vec_unpacks_float_lo_v4si):
10573	Change operand 1 constraint to register_operand.
10574
105752022-02-10  Richard Biener  <rguenther@suse.de>
10576
10577	PR tree-optimization/104373
10578	* tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
10579	walk kind.
10580	* tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
10581	walk kind as argument.
10582	(run_rpo_vn): Adjust.
10583	(pass_fre::execute): Likewise.
10584	* tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
10585	blocks not reachable.
10586	(execute_late_warn_uninitialized): Mark all edges as
10587	executable.
10588	(execute_early_warn_uninitialized): Use VN to compute
10589	executable edges.
10590	(pass_data_early_warn_uninitialized): Enable a dump file,
10591	change dump name to warn_uninit.
10592
105932022-02-10  Richard Biener  <rguenther@suse.de>
10594
10595	PR middle-end/104467
10596	* match.pd (vector extract simplification): Multiply the
10597	number of CTOR elements with the number of element elements.
10598
105992022-02-10  Richard Biener  <rguenther@suse.de>
10600
10601	PR tree-optimization/104466
10602	* tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
10603	for the MR_DEPENDENCE checks as intended.
10604
106052022-02-10  Tom de Vries  <tdevries@suse.de>
10606
10607	* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
10608	define_insn.
10609	(define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
10610	TARGET_SM70.
10611	(define_c_enum "unspecv"): Add UNSPECV_ST.
10612
106132022-02-10  Tom de Vries  <tdevries@suse.de>
10614
10615	* config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
10616	* config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
10617	(nvptx_mem_maybe_shared_p): New function.
10618	* config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
10619	define_expand.
10620
106212022-02-10  Tom de Vries  <tdevries@suse.de>
10622
10623	PR target/97005
10624	* config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
10625	driver JIT bug by using sub.s16 instead of sub.u16.
10626
106272022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10628
10629	* config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
10630	floating point constants as operands 1 and/or 2.
10631
106322022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10633
10634	PR target/104345
10635	* config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
10636	(sel_false<mode>): Likewise.
10637	(define_code_iterator eqne): New code iterator for EQ and NE.
10638	(*selp<mode>_neg_<code>): New define_insn_and_split to optimize
10639	the negation of a selp instruction.
10640	(*selp<mode>_not_<code>): New define_insn_and_split to optimize
10641	the bitwise not of a selp instruction.
10642	(*setcc_int<mode>): Use set instruction for neg:SI of a selp.
10643
106442022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10645
10646	* config/nvptx/nvptx.md (any_logic): Move code iterator earlier
10647	in machine description.
10648	(logic): Move code attribute earlier in machine description.
10649	(ilogic): New code attribute, like logic but "ior" for IOR.
10650	(and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
10651	(<ilogic><mode>3): New define_insn for HSDIM logic operations.
10652	(<ilogic>bi3): New define_insn for BI mode logic operations.
10653	(define_split): Lower logic operations from integer modes to
10654	BI mode predicate operations.
10655
106562022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10657
10658	* config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
10659	(one_cmplbi2): New define_insn for not.pred.
10660	(mulditi3): New define_expand for signed widening multiply.
10661	(umulditi3): New define_expand for unsigned widening multiply.
10662	(smul<mode>3_highpart): New define_insn for signed highpart mult.
10663	(umul<mode>3_highpart): New define_insn for unsigned highpart mult.
10664	(*smulhi3_highpart_2): Renamed from smulhi3_highpart.
10665	(*smulsi3_highpart_2): Renamed from smulsi3_highpart.
10666	(*umulhi3_highpart_2): Renamed from umulhi3_highpart.
10667	(*umulsi3_highpart_2): Renamed from umulsi3_highpart.
10668	(*setcc<mode>_from_not_bi): New define_insn.
10669	(*setcc_isinf<mode>): New define_insn for testp.infinite.
10670	(isinf<mode>2): New define_expand.
10671
106722022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10673
10674	* config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
10675	(setcc<mode>_from_bi): Additionally support QImode.
10676	(extendbi<mode>2): Additionally support QImode.
10677	(zero_extendbi<mode>2): Additionally support QImode.
10678	(any_sbinary, any_ubinary, any_sunary, any_uunary): New code
10679	iterators for signed and unsigned, binary and unary operations.
10680	(<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
10681	expanders to perform QImode operations using SImode instructions.
10682	(cstoreqi4): New define_expand.
10683	(*ext_truncsi2_qi): New define_insn.
10684	(*zext_truncsi2_qi): New define_insn.
10685
106862022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
10687
10688	* config/nvptx/nvptx.md (*cmpf): New define_insn.
10689	(cstorehf4): New define_expand.
10690	(fmahf4): New define_insn.
10691	(neghf2): New define_insn.
10692	(abshf2): New define_insn.
10693
106942022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
10695
10696	* doc/install.texi (Specific): Change the www.bitwizard.nl
10697	reference to use https.
10698
106992022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
10700
10701	* gimplify.cc (gimplify_scan_omp_clauses): Added cases for
10702	OMP_CLAUSE_HAS_DEVICE_ADDR
10703	and handle array sections.
10704	(gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
10705	* omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
10706	(lower_omp_target): Same.
10707	* tree-core.h (enum omp_clause_code): Same.
10708	* tree-nested.cc (convert_nonlocal_omp_clauses): Same.
10709	(convert_local_omp_clauses): Same.
10710	* tree-pretty-print.cc (dump_omp_clause): Same.
10711	* tree.cc: Same.
10712
107132022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
10714
10715	* auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
10716	that will result in direct recursive calls.
10717
107182022-02-10  Andrew Pinski  <apinski@marvell.com>
10719
10720	PR target/104474
10721	* config/aarch64/aarch64.cc
10722	(aarch64_sve_expand_vector_init_handle_trailing_constants):
10723	Use CONST0_RTX instead of const0_rtx for the non-constant elements.
10724
107252022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
10726
10727	PR target/104462
10728	* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
10729	Also include OPTION_MASK_ISA2_AVX2_UNSET.
10730
107312022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
10732
10733	PR target/104458
10734	* config/i386/i386-expand.cc (ix86_split_idivmod):
10735	Force operands[2] and operands[3] into a register..
10736
107372022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
10738
10739	PR target/97040
10740	* config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
10741	(*v850_fnmssf4): Renamed from fnmssf4
10742
107432022-02-09  Ian Lance Taylor  <iant@golang.org>
10744
10745	* godump.cc (go_force_record_alignment): Really name the alignment
10746	field "_" (complete 2021-12-29 change).
10747
107482022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
10749
10750	* config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
10751	function prototype.
10752	(VREPLACE_UN_UV4SI): Likewise.
10753	(VREPLACE_UN_V2DF): Likewise.
10754	(VREPLACE_UN_V2DI): Likewise.
10755	(VREPLACE_UN_V4SF): Likewise.
10756	(VREPLACE_UN_V4SI): Likewise.
10757	* config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
10758	function prototypes.
10759	* config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
10760	(vreplace_un_<mode>): New define_insn.
10761
107622022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10763
10764	* config/aarch64/iterators.md (VDCSIF): New mode iterator.
10765	(VDBL): Handle SF.
10766	(single_wx, single_type, single_dtype, dblq): New mode attributes.
10767	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
10768	from VDC to VDCSIF.
10769	(store_pair_lanes<mode>): Likewise.
10770	(*aarch64_combine_internal<mode>): Likewise.
10771	(*aarch64_combine_internal_be<mode>): Likewise.
10772	(*aarch64_combinez<mode>): Likewise.
10773	(*aarch64_combinez_be<mode>): Likewise.
10774	* config/aarch64/aarch64.cc (aarch64_classify_address): Handle
10775	8-byte modes for ADDR_QUERY_LDP_STP_N.
10776	(aarch64_print_operand): Likewise for %y.
10777
107782022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10779
10780	* config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
10781	Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
10782	(move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
10783	(aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
10784	(vec_pack_trunc_<mode>): Take general_operand elements and use
10785	aarch64_combine rather than move_lo/hi_quad to combine them.
10786	(vec_pack_trunc_df): Likewise.
10787
107882022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10789
10790	* config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
10791	Delete.
10792	* config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
10793	to...
10794	(*aarch64_combinez<mode>): ...this.
10795	(@aarch64_combinez_be<mode>): Rename to...
10796	(*aarch64_combinez_be<mode>): ...this.
10797	(@aarch64_vec_concat<mode>): New expander.
10798	(aarch64_combine<mode>): Use it.
10799	(@aarch64_simd_combine<mode>): Delete.
10800	* config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
10801	(aarch64_expand_vector_init): Use aarch64_vec_concat.
10802
108032022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10804
10805	* config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
10806	New predicate.
10807	* config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
10808	(*aarch64_combine_internal_be<mode>): New patterns.
10809
108102022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10811
10812	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
10813	(move_lo_quad_internal_be_<mode>): Delete.
10814	(move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
10815
108162022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10817
10818	* config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
10819	Declare.
10820	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
10821	aarch64_mergeable_load_pair_p instead of inline check.
10822	* config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
10823	(aarch64_check_consecutive_mems): Allow the reversed parameter
10824	to be null.
10825	(aarch64_mergeable_load_pair_p): New function.
10826
108272022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10828
10829	* config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
10830	element to be an aarch64_simd_nonimmediate_operand.
10831
108322022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
10833
10834	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
10835	aarch64_simd_nonimmediate_operand instead of
10836	aarch64_simd_general_operand.
10837	(@aarch64_combinez<mode>): Use nonimmediate_operand instead of
10838	general_operand.
10839	(@aarch64_combinez_be<mode>): Likewise.
10840
108412022-02-09  Richard Biener  <rguenther@suse.de>
10842
10843	PR middle-end/104464
10844	* gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
10845	throwing check to after unproblematic replacement.
10846
108472022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
10848
10849	PR tree-optimization/104420
10850	* match.pd (mult @0 real_zerop): Tweak conditions for constant
10851	folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
10852
108532022-02-09  Jakub Jelinek  <jakub@redhat.com>
10854
10855	PR debug/104407
10856	* dwarf2out.cc (mangle_referenced_decls): New function.
10857	(tree_add_const_value_attribute): Don't call rtl_for_decl_init if
10858	early_dwarf.  Instead walk the initializer and try to mangle vars or
10859	functions referenced from it.
10860
108612022-02-09  Andrew MacLeod  <amacleod@redhat.com>
10862
10863	PR tree-optimization/104288
10864	* gimple-range-cache.cc (non_null_ref::set_nonnull): New.
10865	(non_null_ref::adjust_range): Move to header.
10866	(ranger_cache::range_of_def): Don't check non-null.
10867	(ranger_cache::entry_range): Don't check non-null.
10868	(ranger_cache::range_on_edge): Check for nonnull on normal edges.
10869	(ranger_cache::update_to_nonnull): New.
10870	(non_null_loadstore): New.
10871	(ranger_cache::block_apply_nonnull): New.
10872	* gimple-range-cache.h (class non_null_ref): Update prototypes.
10873	(non_null_ref::adjust_range): Move to here and inline.
10874	(class ranger_cache): Update prototypes.
10875	* gimple-range-path.cc (path_range_query::range_defined_in_block): Do
10876	not search dominators.
10877	(path_range_query::adjust_for_non_null_uses): Ditto.
10878	* gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
10879	def overrides.  Do not check nonnull.
10880	(gimple_ranger::range_on_entry): Check dominators for nonnull.
10881	(gimple_ranger::range_on_edge): Check for nonnull on normal edges..
10882	(gimple_ranger::register_side_effects): New.
10883	* gimple-range.h (gimple_ranger::register_side_effects): New.
10884	* tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
10885
108862022-02-09  Richard Biener  <rguenther@suse.de>
10887
10888	PR tree-optimization/104445
10889	PR tree-optimization/102832
10890	* optabs-query.h (can_vec_extract): New.
10891	* optabs-query.cc (can_vec_extract): Likewise.
10892	* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10893	we can extract a hi/lo part from the larger vector, rework
10894	check iteration from larger to smaller sizes.
10895
108962022-02-09  H.J. Lu  <hjl.tools@gmail.com>
10897
10898	PR target/35513
10899	PR target/100593
10900	* config/i386/gnu-property.cc: Include "i386-protos.h".
10901	(file_end_indicate_exec_stack_and_gnu_property): Generate
10902	a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
10903	nodirect_extern_access attribute.
10904	* config/i386/i386-options.cc
10905	(handle_nodirect_extern_access_attribute): New function.
10906	(ix86_attribute_table): Add nodirect_extern_access attribute.
10907	* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
10908	bool argument.
10909	(ix86_has_no_direct_extern_access): New.
10910	* config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
10911	(ix86_force_load_from_GOT_p): Add a bool argument to indicate
10912	call operand.  Force non-call load from GOT for
10913	-mno-direct-extern-access or nodirect_extern_access attribute.
10914	(legitimate_pic_address_disp_p): Avoid copy relocation in PIE
10915	for -mno-direct-extern-access or nodirect_extern_access attribute.
10916	(ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
10917	for call operand.
10918	(asm_preferred_eh_data_format): Use PC-relative format for
10919	-mno-direct-extern-access to avoid copy relocation.  Check
10920	ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
10921	(ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
10922	true for -mno-direct-extern-access or nodirect_extern_access
10923	attribute.  Don't treat protected data as extern and avoid copy
10924	relocation on common symbol with -mno-direct-extern-access or
10925	nodirect_extern_access attribute.
10926	(ix86_reloc_rw_mask): New to avoid copy relocation for
10927	-mno-direct-extern-access.
10928	(TARGET_ASM_RELOC_RW_MASK): New.
10929	* config/i386/i386.opt: Add -mdirect-extern-access.
10930	* doc/extend.texi: Document nodirect_extern_access attribute.
10931	* doc/invoke.texi: Document -m[no-]direct-extern-access.
10932
109332022-02-09  H.J. Lu  <hjl.tools@gmail.com>
10934
10935	PR target/104441
10936	* config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
10937	(ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
10938	Call ix86_avx_u128_mode_source to check mode for each component
10939	of source operand.
10940
109412022-02-09  liuhongt  <hongtao.liu@intel.com>
10942
10943	PR target/104451
10944	* config/i386/sse.md (<insn><mode>3): lowpart_subreg
10945	operands[2] from SImode to QImode.
10946
109472022-02-09  Richard Biener  <rguenther@suse.de>
10948
10949	PR middle-end/104450
10950	* gimple-isel.cc: Pass cfun around.
10951	(+gimple_expand_vec_cond_expr): Do not combine a throwing
10952	comparison with the select.
10953
109542022-02-09  Richard Biener  <rguenther@suse.de>
10955
10956	PR target/104453
10957	* config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
10958	folding for NULL LHS.
10959
109602022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
10961
10962	PR rtl-optimization/104198
10963	PR rtl-optimization/104153
10964	* ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
10965	using it directly.  Rework comparison handling and always
10966	perform a second pass.
10967
109682022-02-08  Jakub Jelinek  <jakub@redhat.com>
10969
10970	PR target/102140
10971	* config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
10972	split1 pass has finished already.
10973
109742022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
10975
10976	* config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
10977	* config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
10978	* config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
10979	(vmsumcud): New define_insn.
10980
109812022-02-08  Tom de Vries  <tdevries@suse.de>
10982
10983	* config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
10984	* config/nvptx/nvptx.h (TARGET_SM70): Define.
10985
109862022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
10987
10988	* config/s390/s390.cc (s390_rtx_costs): Increase costs for load
10989	on condition.
10990	* config/s390/s390.md: Use paradoxical subreg.
10991
109922022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
10993
10994	* combine.cc (reg_subword_p): Check for paradoxical subreg.
10995
109962022-02-08  Tom de Vries  <tdevries@suse.de>
10997
10998	PR target/104283
10999	* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
11000	and PTX_VERSION_4_2.
11001	* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
11002	(default_ptx_version_option, ptx_version_to_string)
11003	(sm_version_to_string, handle_ptx_version_option): New function.
11004	(nvptx_option_override): Call handle_ptx_version_option.
11005	(nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
11006	* config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
11007	(define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
11008	* config/nvptx/nvptx.opt (mptx): Remove 'Init'.
11009
110102022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
11011
11012	* doc/install.texi (Configuration): Document `--with-isa-spec='
11013	RISC-V option.
11014	* doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
11015	option.
11016	(RISC-V Options): Document it.
11017
110182022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
11019
11020	* config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
11021
110222022-02-08  Tom de Vries  <tdevries@suse.de>
11023
11024	* config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
11025
110262022-02-08  Tom de Vries  <tdevries@suse.de>
11027
11028	PR target/104364
11029	* config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
11030	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
11031	change is validated.
11032	(nvptx_mem_local_p): New function.
11033	* config/nvptx/nvptx.md: Use nvptx_mem_local_p.
11034	(define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
11035	(define_insn "atomic_compare_and_swap<mode>_1_local"): New
11036	non-atomic, non-predicable define_insn, factored out of ...
11037	(define_insn "atomic_compare_and_swap<mode>_1"): ... here.
11038	Make predicable again.
11039	(define_expand "atomic_compare_and_swap<mode>"): Use
11040	atomic_compare_and_swap<mode>_1_local.
11041
110422022-02-08  liuhongt  <hongtao.liu@intel.com>
11043
11044	PR rtl-optimization/104059
11045	* regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
11046	for a more expensive reg-reg move.
11047
110482022-02-07  Tamar Christina  <tamar.christina@arm.com>
11049
11050	* config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
11051	vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
11052	* config/arm/arm_neon_builtins.def (usdot): Add V16QI.
11053	(usdot_laneq, sudot_laneq): New.
11054	* config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
11055	(neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
11056
110572022-02-07  Tamar Christina  <tamar.christina@arm.com>
11058
11059	* config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
11060	vdot_laneq_s32, vdotq_laneq_s32): New.
11061	* config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
11062	* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
11063	(<sup>dot_prod<vsi2qi>): Re-order rtl.
11064	(neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
11065	(neon_<sup>dot_laneq<vsi2qi>): New.
11066
110672022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
11068
11069	PR target/104327
11070	* config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
11071	if always_inline is set. Don't inline when tune differs without
11072	always_inline.
11073
110742022-02-07  Richard Biener  <rguenther@suse.de>
11075
11076	PR middle-end/104402
11077	* gimple-expr.cc (is_gimple_condexpr): _Complex typed
11078	compares are not valid.
11079	* tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
11080	check is_gimple_condexpr.
11081
110822022-02-07  Kewen Lin  <linkw@linux.ibm.com>
11083
11084	PR target/103627
11085	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
11086	hunk affecting VSX and ALTIVEC to appropriate place.
11087
110882022-02-07  Kewen Lin  <linkw@linux.ibm.com>
11089
11090	PR target/103627
11091	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
11092	MMA if !TARGET_VSX.
11093
110942022-02-06  Jakub Jelinek  <jakub@redhat.com>
11095
11096	PR c++/89074
11097	PR c++/104033
11098	* fold-const.h (folding_initializer): Adjust comment.
11099	(folding_cxx_constexpr): Declare.
11100	* fold-const.cc (folding_initializer): Adjust comment.
11101	(folding_cxx_constexpr): New variable.
11102	(address_compare): Restrict the decl vs. STRING_CST
11103	or vice versa or STRING_CST vs. STRING_CST or
11104	is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
11105	Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
11106	assume non-aliased functions have non-zero size and have different
11107	addresses.  For folding_cxx_constexpr, punt on comparisons of start
11108	of some object and end of another one, regardless whether it is a decl
11109	or string literal.  Also punt for folding_cxx_constexpr on
11110	STRING_CST vs. STRING_CST comparisons if the two literals could be
11111	overlapping.
11112
111132022-02-05  Jakub Jelinek  <jakub@redhat.com>
11114
11115	PR tree-optimization/104389
11116	* match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
11117	honored.
11118
111192022-02-05  Kito Cheng  <kito.cheng@sifive.com>
11120
11121	* configure.ac: Fix detection for zifencei support.
11122	* configure: Regenerate.
11123
111242022-02-05  Kito Cheng  <kito.cheng@sifive.com>
11125
11126	PR target/104219
11127	* config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
11128	(all_defaults): Add isa_spec.
11129	* config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
11130
111312022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
11132
11133	* config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
11134	parameters instead of arglist and nargs.  Simplify accordingly.  Remove
11135	unnecessary test for argument count mismatch.
11136	(resolve_vec_cmpne): Likewise.
11137	(resolve_vec_adde_sube): Likewise.
11138	(resolve_vec_addec_subec): Likewise.
11139	(altivec_resolve_overloaded_builtin): Move overload special handling
11140	after the gathering of arguments into args[] and types[] and the test
11141	for correct number of arguments.  Don't perform the test for correct
11142	number of arguments for certain special cases.  Call the other special
11143	cases with args and types instead of arglist and nargs.
11144
111452022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
11146
11147	PR target/100808
11148	* doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
11149	3.1): Provide consistent type names.  Remove unnecessary semicolons.
11150	Fix bad line breaks.
11151
111522022-02-04  Jakub Jelinek  <jakub@redhat.com>
11153
11154	PR target/104380
11155	* config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
11156	adjust mangling of __builtin*printf_chk.
11157
111582022-02-04  Jonathan Wakely  <jwakely@redhat.com>
11159
11160	* doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
11161
111622022-02-04  Richard Biener  <rguenther@suse.de>
11163	    Bin Cheng   <bin.cheng@linux.alibaba.com>
11164
11165	PR tree-optimization/100499
11166	* fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
11167	to true.
11168	* fold-const.cc (multiple_of_p): Likewise.  Honor it for
11169	MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
11170	switching to false for conversions.
11171	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
11172	claim the outermost expression does not wrap when calling
11173	multiple_of_p.  Refactor the check done to check the
11174	original IV, avoiding a bias that might wrap.
11175
111762022-02-04  Richard Biener  <rguenther@suse.de>
11177
11178	* fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
11179	handling.
11180
111812022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
11182
11183	PR debug/104366
11184	* dwarf2out.cc (dwarf2out_finish): Empty base_types.
11185	(dwarf2out_early_finish): Likewise.
11186
111872022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
11188
11189	PR tree-optimization/104356
11190	* match.pd (X / bool_range_Y is X): Add guard.
11191	(X / X is one): Likewise.
11192	(X / abs (X) is X < 0 ? -1 : 1): Likewise.
11193	(X / -X is -1): Likewise.
11194	(1 / X -> X == 1): Likewise.
11195
111962022-02-04  Richard Biener  <rguenther@suse.de>
11197
11198	PR tree-optimization/103641
11199	* tree-vect-patterns.cc (vect_synth_mult_by_constant):
11200	Pass the vector mode to choose_mult_variant.
11201
112022022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
11203
11204	PR rtl-optimization/101885
11205	* combine.cc (try_combine): When splitting a parallel into two
11206	sequential sets, check not only that the first doesn't clobber
11207	the second but also that the second doesn't clobber the first.
11208
112092022-02-04  Richard Biener  <rguenther@suse.de>
11210
11211	PR middle-end/90348
11212	PR middle-end/104092
11213	* tree-core.h (clobber_kind): New enum.
11214	(tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
11215	* tree.h (CLOBBER_KIND): Add.
11216	(build_clobber): Add clobber kind argument, defaulted to
11217	CLOBBER_UNDEF.
11218	* tree.cc (build_clobber): Likewise.
11219	* gimple.h (gimple_clobber_p): New overload with specified kind.
11220	* tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
11221	CLOBBER_KIND.
11222	* tree-streamer-out.cc (streamer_write_tree_bitfields):
11223	Likewise.
11224	* tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
11225	* gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
11226	with CLOBBER_EOL.
11227	(gimplify_target_expr): Likewise.
11228	* tree-inline.cc (expand_call_inline): Likewise.
11229	* tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
11230	* gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
11231	CLOBBER_EOL clobbers as ending lifetime of storage.
11232
112332022-02-04  Martin Sebor  <msebor@redhat.com>
11234
11235	* pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
11236	cleanup.
11237
112382022-02-03  Martin Sebor  <msebor@redhat.com>
11239
11240	PR middle-end/104260
11241	* passes.def (pass_warn_access): Adjust pass placement.
11242
112432022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
11244
11245	PR target/104362
11246	* config/i386/i386.cc (find_drap_reg): For 32bit targets
11247	return DI_REG if function uses __builtin_eh_return.
11248
112492022-02-03  Martin Sebor  <msebor@redhat.com>
11250
11251	* gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
11252	(pass_wrestrict::m_ptr_qry): New member.
11253	(wrestrict_walk): Rename...
11254	(pass_wrestrict::check_block): ...to this.
11255	(pass_wrestrict::execute): Set up and tear down pointer_query and
11256	ranger.
11257	(builtin_memref::builtin_memref): Change ctor argument.  Simplify.
11258	(builtin_access::builtin_access): Same.
11259	(builtin_access::m_ptr_qry): New member.
11260	(check_call): Rename...
11261	(pass_wrestrict::check_call): ...to this.
11262	(check_bounds_or_overlap): Change argument.
11263	* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
11264
112652022-02-03  Martin Sebor  <msebor@redhat.com>
11266
11267	* gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
11268	Define ctor.
11269	(array_bounds_checker::get_value_range): Use new member.
11270	(array_bounds_checker::check_mem_ref): Same.
11271	* gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
11272	Outline ctor.
11273	(array_bounds_checker::m_ptr_query): New member.
11274
112752022-02-03  Martin Sebor  <msebor@redhat.com>
11276
11277	* gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
11278	pointer_query cache.
11279	* pointer-query.cc (pointer_query::pointer_query): Remove cache
11280	argument.  Zero-initialize new cache member.
11281	(pointer_query::get_ref): Replace cache pointer with direct access.
11282	(pointer_query::put_ref): Same.
11283	(pointer_query::flush_cache): Same.
11284	(pointer_query::dump): Same.
11285	* pointer-query.h (class pointer_query): Remove cache argument from
11286	ctor.  Change cache pointer to cache subobject member.
11287	* tree-ssa-strlen.cc: Remove pointer_query cache.
11288
112892022-02-03  Martin Sebor  <msebor@redhat.com>
11290
11291	PR tree-optimization/104119
11292	* gimple-ssa-sprintf.cc (struct directive): Change argument type.
11293	(format_none): Same.
11294	(format_percent): Same.
11295	(format_integer): Same.
11296	(format_floating): Same.
11297	(get_string_length): Same.
11298	(format_character): Same.
11299	(format_string): Same.
11300	(format_plain): Same.
11301	(format_directive): Same.
11302	(compute_format_length): Same.
11303	(handle_printf_call): Same.
11304	* tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
11305	get_maxbound.
11306	(get_range_strlen_phi): Same.
11307	(get_maxbound): New function.
11308	(strlen_pass::get_len_or_size): Adjust to parameter change.
11309	* tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
11310
113112022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11312
11313	PR target/103686
11314	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin):	Remove
11315	test for !rs6000_fold_gimple.
11316	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
11317	* config/rs6000/rs6000.opt (mfold-gimple): Remove.
11318
113192022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11320
11321	PR target/95082
11322	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
11323	endianness for vclzlsbb and vctzlsbb.
11324	* config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
11325	default pattern and indicate a different pattern will be used for
11326	big endian.
11327	(VCLZLSBB_V4SI): Likewise.
11328	(VCLZLSBB_V8HI): Likewise.
11329	(VCTZLSBB_V16QI): Likewise.
11330	(VCTZLSBB_V4SI): Likewise.
11331	(VCTZLSBB_V8HI): Likewise.
11332
113332022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11334
11335	* config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
11336	* config/rs6000/rs6000-builtin.cc: New file, containing code moved
11337	from other files.
11338	* config/rs6000/rs6000-call.cc (cpu_is_info): Move to
11339	rs6000-builtin.cc.
11340	(cpu_supports_info): Likewise.
11341	(rs6000_type_string): Likewise.
11342	(altivec_expand_predicate_builtin): Likewise.
11343	(rs6000_htm_spr_icode): Likewise.
11344	(altivec_expand_vec_init_builtin): Likewise.
11345	(get_element_number): Likewise.
11346	(altivec_expand_vec_set_builtin): Likewise.
11347	(altivec_expand_vec_ext_builtin): Likewise.
11348	(rs6000_invalid_builtin): Likewise.
11349	(rs6000_fold_builtin): Likewise.
11350	(fold_build_vec_cmp): Likewise.
11351	(fold_compare_helper): Likewise.
11352	(map_to_integral_tree_type): Likewise.
11353	(fold_mergehl_helper): Likewise.
11354	(fold_mergeeo_helper): Likewise.
11355	(rs6000_builtin_valid_without_lhs): Likewise.
11356	(rs6000_builtin_is_supported): Likewise.
11357	(rs6000_gimple_fold_mma_builtin): Likewise.
11358	(rs6000_gimple_fold_builtin): Likewise.
11359	(rs6000_expand_ldst_mask): Likewise.
11360	(cpu_expand_builtin): Likewise.
11361	(elemrev_icode): Likewise.
11362	(ldv_expand_builtin): Likewise.
11363	(lxvrse_expand_builtin): Likewise.
11364	(lxvrze_expand_builtin): Likewise.
11365	(stv_expand_builtin): Likewise.
11366	(mma_expand_builtin): Likewise.
11367	(htm_spr_num): Likewise.
11368	(htm_expand_builtin): Likewise.
11369	(rs6000_expand_builtin): Likewise.
11370	(rs6000_vector_type): Likewise.
11371	(rs6000_init_builtins): Likewise.  Remove initialization of
11372	builtin_mode_to_type entries.
11373	(rs6000_builtin_decl): Move to rs6000-builtin.cc.
11374	* config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
11375	external declaration.
11376	(rs6000_builtin_md_vectorized_function): Likewise.
11377	(rs6000_builtin_reciprocal): Likewise.
11378	(altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
11379	(rs6000_builtin_types): Likewise.
11380	(builtin_mode_to_type): Remove.
11381	(rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
11382	static qualifier.
11383	(rs6000_builtin_md_vectorized_function): Likewise.
11384	(rs6000_builtin_reciprocal): Likewise.
11385	* config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
11386	* config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
11387
113882022-02-03  Richard Biener  <rguenther@suse.de>
11389
11390	PR debug/104337
11391	* tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
11392	together via DECL_ABSTRACT_ORIGIN.
11393
113942022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
11395
11396	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
11397	message for RES_BITS case.
11398
113992022-02-03  Aldy Hernandez  <aldyh@redhat.com>
11400
11401	* gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
11402
114032022-02-03  Jakub Jelinek  <jakub@redhat.com>
11404
11405	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
11406	mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
11407
114082022-02-03  Aldy Hernandez  <aldyh@redhat.com>
11409
11410	* cfganal.cc (verify_marked_backedges): New.
11411	* cfganal.h (verify_marked_backedges): New.
11412	* gimple-range-path.cc (path_range_query::path_range_query):
11413	Verify freshness of back edges.
11414	* tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
11415	mark_dfs_back_edges.
11416	* tree-ssa-threadbackward.cc (back_threader::back_threader): Move
11417	path_range_query construction after backedges have been
11418	updated.
11419
114202022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
11421
11422	* config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
11423	VALL to VALL_F16.
11424
114252022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
11426
11427	* config/aarch64/iterators.md (VALL_F16MOV): Delete.
11428	* config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
11429	of VALL_F16MOV.
11430
114312022-02-03  Martin Liska  <mliska@suse.cz>
11432
11433	* config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
11434	Change subject and object in the error message.
11435	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
11436	Likewise.
11437
114382022-02-03  Martin Liska  <mliska@suse.cz>
11439
11440	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
11441	Use the error message for i386 target.
11442
114432022-02-03  Jakub Jelinek  <jakub@redhat.com>
11444
11445	PR tree-optimization/104334
11446	* range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
11447	and rh_range type to widest_int and subtract in widest_int.  Remove
11448	ov_rh, ov_lh and sign vars, always perform comparisons as signed
11449	and use >, < and == operators for it.
11450
114512022-02-03  Martin Sebor  <msebor@redhat.com>
11452
11453	* common.opt (-Wuse-after-free): Correct typos.
11454
114552022-02-02  David Malcolm  <dmalcolm@redhat.com>
11456
11457	PR analyzer/104270
11458	* doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
11459	-Wanalyzer-use-of-uninitialized-value to paragraph documenting that
11460	-ftrivial-auto-var-init= doesn't suppress warnings.
11461
114622022-02-02  Martin Liska  <mliska@suse.cz>
11463
11464	* dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
11465
114662022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
11467
11468	PR target/94372
11469	* config/or1k/linux.h (CPP_SPEC): Define.
11470
114712022-02-02  Tamar Christina  <tamar.christina@arm.com>
11472
11473	PR tree-optimization/102819
11474	PR tree-optimization/103169
11475	* config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
11476	canonical order.
11477
114782022-02-02  Tamar Christina  <tamar.christina@arm.com>
11479
11480	PR tree-optimization/102819
11481	PR tree-optimization/103169
11482	* config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
11483	canonical order.
11484	* config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
11485
114862022-02-02  Tamar Christina  <tamar.christina@arm.com>
11487
11488	PR tree-optimization/102819
11489	PR tree-optimization/103169
11490	* doc/md.texi: Update docs for cfms, cfma.
11491	* tree-data-ref.h (same_data_refs): Accept optional offset.
11492	* tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
11493	patterns.
11494	(vect_normalize_conj_loc): Remove.
11495	(is_eq_or_top): Change to take two nodes.
11496	(enum _conj_status, compatible_complex_nodes_p,
11497	vect_validate_multiplication): New.
11498	(class complex_add_pattern, complex_add_pattern::matches,
11499	complex_add_pattern::recognize, class complex_mul_pattern,
11500	complex_mul_pattern::recognize, class complex_fms_pattern,
11501	complex_fms_pattern::recognize, class complex_operations_pattern,
11502	complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
11503	new cache.
11504	(complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
11505	cache and use new validation code.
11506	* tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
11507	vect_analyze_slp): Pass along cache.
11508	(compatible_calls_p): Expose.
11509	* tree-vectorizer.h (compatible_calls_p, slp_node_hash,
11510	slp_compat_nodes_map_t): New.
11511	(class vect_pattern): Update signatures include new cache.
11512
115132022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11514
11515	* config/cris/cris.cc (cris_preferred_reload_class): Reject
11516	"eliminated" registers and small-enough constants unless
11517	reloaded into a class that is a subset of GENERAL_REGS.
11518	* config/cris/cris.md (attribute "cpu_variant"): New.
11519	(attribute "enabled"): Conditionalize on a matching attribute
11520	cpu_variant, if specified.
11521	("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
11522	memory, add cpu-variant-enabled variants for "r" alternatives on
11523	the far side of the "x" alternatives, preferring the "x" ones
11524	only for variants where MOF is present (in addition to SRP).
11525
115262022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11527
11528	* config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
11529	extra cost for ALL_REGS.
11530
115312022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11532
11533	* config/cris/constraints.md (define_register_constraint "b"): Now
11534	GENERAL_REGS.
11535	* config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
11536	* config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
11537	(REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
11538	and SPEC_GENNONACR_REGS.
11539	* config/cris/cris.cc (cris_preferred_reload_class): Don't mention
11540	ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
11541
115422022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11543
11544	* config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
11545	Conditionalize on (sub-)register operands or operand 1 being 0.
11546
115472022-02-02  Hans-Peter Nilsson  <hp@axis.com>
11548
11549	* config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
11550	(MUL_BUG_ASM_DEFAULT): New macro.
11551	(MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
11552	* doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
11553	accordingly.
11554
115552022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
11556
11557	* opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
11558	to 10 for AutoFDO.
11559
115602022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
11561
11562	* auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
11563
115642022-02-01  Andrew Pinski  <apinski@marvell.com>
11565
11566	* doc/install.texi:
11567
115682022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
11569
11570	* config/s390/s390.cc (s390_code_end): Do not switch back to
11571	code section.
11572
115732022-02-01  Jakub Jelinek  <jakub@redhat.com>
11574
11575	PR target/104323
11576	* config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
11577	rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
11578	* config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
11579	GTY((user)) for struct bifdata and struct ovlddata.  Instead add
11580	GTY((skip(""))) to members with pointer and enum types that don't need
11581	to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
11582	declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
11583	(write_extern_fntype, write_fntype): Remove.
11584	(write_fntype_init): Emit the fntype vars as automatic vars instead
11585	of file scope ones.
11586	(write_header_file): Don't iterate with write_extern_fntype.
11587	(write_init_file): Don't iterate with write_fntype.  Don't emit
11588	gt_ggc_mx and gt_pch_nx definitions.
11589
115902022-02-01  Jason Merrill  <jason@redhat.com>
11591
11592	* tree.h (struct tree_vec_map_cache_hasher): Move from...
11593	* tree.cc (struct tree_vec_map_cache_hasher): ...here.
11594
115952022-02-01  Tom de Vries  <tdevries@suse.de>
11596
11597	* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
11598	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11599	UNSPECV_UNIFORM_WARP_CHECK.
11600	(define_insn "nvptx_uniform_warp_check"): New define_insn.
11601
116022022-02-01  Tom de Vries  <tdevries@suse.de>
11603
11604	* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
11605	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11606	UNSPECV_WARPSYNC.
11607	(define_insn "nvptx_warpsync"): New define_insn.
11608
116092022-02-01  Tom de Vries  <tdevries@suse.de>
11610
11611	* config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
11612
116132022-02-01  Tom de Vries  <tdevries@suse.de>
11614
11615	* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
11616	* config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
11617	* config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
11618	insn for TARGET_PTX_6_0.
11619
116202022-02-01  Tom de Vries  <tdevries@suse.de>
11621
11622	PR target/100428
11623	* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
11624	insn.
11625
116262022-02-01  Tom de Vries  <tdevries@suse.de>
11627
11628	* config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
11629	(define_insn "atomic_exchange<mode>")
11630	(define_insn "atomic_fetch_add<mode>")
11631	(define_insn "atomic_fetch_addsf")
11632	(define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
11633	if memory operands is frame-relative.
11634
116352022-02-01  Tom de Vries  <tdevries@suse.de>
11636
11637	* config/nvptx/nvptx.cc (enum nvptx_builtins): Add
11638	NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
11639	(VOID): New macro.
11640	(nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
11641	(nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
11642	NVPTX_BUILTIN_MEMBAR_CTA.
11643	(nvptx_lockfull_update): Add level parameter.  Emit barriers.
11644	(nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
11645	nvptx_lockfull_update.
11646	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11647	UNSPECV_MEMBAR_GL.
11648	(define_expand "nvptx_membar_gl"): New expand.
11649	(define_insn "*nvptx_membar_gl"): New insn.
11650
116512022-02-01  Martin Liska  <mliska@suse.cz>
11652
11653	* doc/install.texi: Remove option for GCC < 4.8.
11654
116552022-02-01  Jakub Jelinek  <jakub@redhat.com>
11656
11657	PR middle-end/104307
11658	* tree-vect-generic.cc (expand_vector_comparison): Don't push debug
11659	stmts to uses vector, just set vec_cond_expr_only to false for
11660	non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
11661	VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
11662	like non-VEC_COND_EXPRs.
11663
116642022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
11665
11666	* config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
11667	(VEC_BLENDV): Likewise.
11668	(VEC_BPERM): Likewise.
11669	(VEC_CFUGE): Likewise.
11670	(VEC_CIPHER_BE): Likewise.
11671	(VEC_CIPHERLAST_BE): Likewise.
11672	(VEC_CLRL): Likewise.
11673	(VEC_CLRR): Likewise.
11674	(VEC_CMPNEZ): Likewise.
11675	(VEC_CNTLZ): Likewise.
11676	(VEC_CNTLZM): Likewise.
11677	(VEC_CNTTZM): Likewise.
11678	(VEC_CNTLZ_LSBB): Likewise.
11679	(VEC_CNTM): Likewise.
11680	(VEC_CNTTZ): Likewise.
11681	(VEC_CNTTZ_LSBB): Likewise.
11682	(VEC_CONVERT_4F32_8F16): Likewise.
11683	(VEC_DIV): Likewise.
11684	(VEC_DIVE): Likewise.
11685	(VEC_EQV): Likewise.
11686	(VEC_EXPANDM): Likewise.
11687	(VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
11688	(VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
11689	(VEC_EXTRACTH): Likewise.
11690	(VEC_EXTRACTL): Likewise.
11691	(VEC_EXTRACTM): Likewise.
11692	(VEC_EXTRACT4B): Likewise.
11693	(VEC_EXTULX): Likewise.
11694	(VEC_EXTURX): Likewise.
11695	(VEC_FIRSTMATCHINDEX): Likewise.
11696	(VEC_FIRSTMACHOREOSINDEX): Likewise.
11697	(VEC_FIRSTMISMATCHINDEX): Likewise.
11698	(VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
11699	(VEC_GB): Likewise.
11700	(VEC_GENBM): Likewise.
11701	(VEC_GENHM): Likewise.
11702	(VEC_GENWM): Likewise.
11703	(VEC_GENDM): Likewise.
11704	(VEC_GENQM): Likewise.
11705	(VEC_GENPCVM): Likewise.
11706	(VEC_GNB): Likewise.
11707	(VEC_INSERTH): Likewise.
11708	(VEC_INSERTL): Likewise.
11709	(VEC_INSERT4B): Likewise.
11710	(VEC_LXVL): Likewise.
11711	(VEC_MERGEE): Likewise.
11712	(VEC_MERGEO): Likewise.
11713	(VEC_MOD): Likewise.
11714	(VEC_MSUB): Likewise.
11715	(VEC_MULH): Likewise.
11716	(VEC_NAND): Likewise.
11717	(VEC_NCIPHER_BE): Likewise.
11718	(VEC_NCIPHERLAST_BE): Likewise.
11719	(VEC_NEARBYINT): Likewise.
11720	(VEC_NMADD): Likewise.
11721	(VEC_ORC): Likewise.
11722	(VEC_PDEP): Likewise.
11723	(VEC_PERMX): Likewise.
11724	(VEC_PEXT): Likewise.
11725	(VEC_POPCNT): Likewise.
11726	(VEC_PARITY_LSBB): Likewise.
11727	(VEC_REPLACE_ELT): Likewise.
11728	(VEC_REPLACE_UN): Likewise.
11729	(VEC_REVB): Likewise.
11730	(VEC_RINT): Likewise.
11731	(VEC_RLMI): Likewise.
11732	(VEC_RLNM): Likewise.
11733	(VEC_SBOX_BE): Likewise.
11734	(VEC_SIGNEXTI): Likewise.
11735	(VEC_SIGNEXTLL): Likewise.
11736	(VEC_SIGNEXTQ): Likewise.
11737	(VEC_SLDB): Likewise.
11738	(VEC_SLV): Likewise.
11739	(VEC_SPLATI): Likewise.
11740	(VEC_SPLATID): Likewise.
11741	(VEC_SPLATI_INS): Likewise.
11742	(VEC_SQRT): Likewise.
11743	(VEC_SRDB): Likewise.
11744	(VEC_SRV): Likewise.
11745	(VEC_STRIL): Likewise.
11746	(VEC_STRIL_P): Likewise.
11747	(VEC_STRIR): Likewise.
11748	(VEC_STRIR_P): Likewise.
11749	(VEC_STXVL): Likewise.
11750	(VEC_TERNARYLOGIC): Likewise.
11751	(VEC_TEST_LSBB_ALL_ONES): Likewise.
11752	(VEC_TEST_LSBB_ALL_ZEROS): Likewise.
11753	(VEC_VEE): Likewise.
11754	(VEC_VES): Likewise.
11755	(VEC_VIE): Likewise.
11756	(VEC_VPRTYB): Likewise.
11757	(VEC_VSCEEQ): Likewise.
11758	(VEC_VSCEGT): Likewise.
11759	(VEC_VSCELT): Likewise.
11760	(VEC_VSCEUO): Likewise.
11761	(VEC_VSEE): Likewise.
11762	(VEC_VSES): Likewise.
11763	(VEC_VSIE): Likewise.
11764	(VEC_VSTDC): Likewise.
11765	(VEC_VSTDCN): Likewise.
11766	(VEC_VTDC): Likewise.
11767	(VEC_XL): Likewise.
11768	(VEC_XL_BE): Likewise.
11769	(VEC_XL_LEN_R): Likewise.
11770	(VEC_XL_SEXT): Likewise.
11771	(VEC_XL_ZEXT): Likewise.
11772	(VEC_XST): Likewise.
11773	(VEC_XST_BE): Likewise.
11774	(VEC_XST_LEN_R): Likewise.
11775	(VEC_XST_TRUNC): Likewise.
11776	(VEC_XXPERMDI): Likewise.
11777	(VEC_XXSLDWI): Likewise.
11778	(VEC_TSTSFI_EQ_DD): Likewise.
11779	(VEC_TSTSFI_EQ_TD): Likewise.
11780	(VEC_TSTSFI_GT_DD): Likewise.
11781	(VEC_TSTSFI_GT_TD): Likewise.
11782	(VEC_TSTSFI_LT_DD): Likewise.
11783	(VEC_TSTSFI_LT_TD): Likewise.
11784	(VEC_TSTSFI_OV_DD): Likewise.
11785	(VEC_TSTSFI_OV_TD): Likewise.
11786	(VEC_VADDCUQ): Likewise.
11787	(VEC_VADDECUQ): Likewise.
11788	(VEC_VADDEUQM): Likewise.
11789	(VEC_VADDUDM): Likewise.
11790	(VEC_VADDUQM): Likewise.
11791	(VEC_VBPERMQ): Likewise.
11792	(VEC_VCLZB): Likewise.
11793	(VEC_VCLZD): Likewise.
11794	(VEC_VCLZH): Likewise.
11795	(VEC_VCLZW): Likewise.
11796	(VEC_VCTZB): Likewise.
11797	(VEC_VCTZD): Likewise.
11798	(VEC_VCTZH): Likewise.
11799	(VEC_VCTZW): Likewise.
11800	(VEC_VEEDP): Likewise.
11801	(VEC_VEESP): Likewise.
11802	(VEC_VESDP): Likewise.
11803	(VEC_VESSP): Likewise.
11804	(VEC_VIEDP): Likewise.
11805	(VEC_VIESP): Likewise.
11806	(VEC_VPKSDSS): Likewise.
11807	(VEC_VPKSDUS): Likewise.
11808	(VEC_VPKUDUM): Likewise.
11809	(VEC_VPKUDUS): Likewise.
11810	(VEC_VPOPCNT): Likewise.
11811	(VEC_VPOPCNTB): Likewise.
11812	(VEC_VPOPCNTD): Likewise.
11813	(VEC_VPOPCNTH): Likewise.
11814	(VEC_VPOPCNTW): Likewise.
11815	(VEC_VPRTYBD): Likewise.
11816	(VEC_VPRTYBQ): Likewise.
11817	(VEC_VPRTYBW): Likewise.
11818	(VEC_VRLD): Likewise.
11819	(VEC_VSLD): Likewise.
11820	(VEC_VSRAD): Likewise.
11821	(VEC_VSRD): Likewise.
11822	(VEC_VSTDCDP): Likewise.
11823	(VEC_VSTDCNDP): Likewise.
11824	(VEC_VSTDCNQP): Likewise.
11825	(VEC_VSTDCNSP): Likewise.
11826	(VEC_VSTDCQP): Likewise.
11827	(VEC_VSTDCSP): Likewise.
11828	(VEC_VSUBECUQ): Likewise.
11829	(VEC_VSUBEUQM): Likewise.
11830	(VEC_VSUBUDM): Likewise.
11831	(VEC_VSUBUQM): Likewise.
11832	(VEC_VTDCDP): Likewise.
11833	(VEC_VTDCSP): Likewise.
11834	(VEC_VUPKHSW): Likewise.
11835	(VEC_VUPKLSW): Likewise.
11836
118372022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
11838
11839	PR rtl-optimization/101260
11840	* regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
11841	copy_regno.
11842
118432022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
11844
11845	PR middle-end/95115
11846	* fold-const.cc (const_binop): Do not fold NaN result from
11847	  non-NaN operands.
11848
118492022-02-01  Tom de Vries  <tdevries@suse.de>
11850
11851	* tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
11852	-ftree-loop-distribute-patterns.
11853	(loop_distribution::execute): Don't call transform_reduction_loop for
11854	-fno-tree-loop-distribute-patterns.
11855
118562022-01-31  Andrew Pinski  <apinski@marvell.com>
11857
11858	* fold-const.h (operand_compare::operand_equal_p):
11859	Fix comment about OEP_* flags.
11860
118612022-01-31  Jakub Jelinek  <jakub@redhat.com>
11862
11863	PR target/104298
11864	* config/rs6000/aix.h (OPTION_GLIBC): Remove.
11865	* config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
11866	* config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
11867	if not already defined.
11868
118692022-01-31  Martin Sebor  <msebor@redhat.com>
11870
11871	PR middle-end/104232
11872	* gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
11873	Handle PHIs.  Add a synonymous overload.
11874	(pass_waccess::check_pointer_uses): Call pointers_related_p.
11875
118762022-01-31  Richard Biener  <rguenther@suse.de>
11877
11878	PR tree-optimization/100499
11879	* fold-const.cc (multiple_of_p): Pass the correct type of
11880	the expression to the recursive invocation of multiple_of_p
11881	for conversions and use CASE_CONVERT.
11882
118832022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
11884
11885	PR target/104189
11886	* config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
11887
118882022-01-31  Richard Biener  <rguenther@suse.de>
11889
11890	PR tree-optimization/100499
11891	* tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
11892	on poly-ints instead of multiple_of_p.
11893	* tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
11894	(non_rewritable_mem_ref_base): Likewise.
11895	(non_rewritable_lvalue_p): Likewise.
11896	(execute_update_addresses_taken): Likewise.
11897
118982022-01-29  Jakub Jelinek  <jakub@redhat.com>
11899	    Andrew Pinski  <apinski@marvell.com>
11900
11901	PR tree-optimization/104279
11902	PR tree-optimization/104280
11903	PR tree-optimization/104281
11904	* match.pd (1 / X -> X == 1 for unsigned X): Build eq with
11905	boolean_type_node and convert to type.  Formatting fixes.
11906
119072022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
11908
11909	* config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
11910
119112022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
11912
11913	PR tree-optimization/103514
11914	* match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
11915	(a & b) == (a ^ b) -> !(a | b): New optimization.
11916
119172022-01-28  Marek Polacek  <polacek@redhat.com>
11918
11919	* doc/invoke.texi: Update -Wbidi-chars documentation.
11920
119212022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
11922
11923	* config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
11924
119252022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
11926
11927	PR tree-optimization/95424
11928	* match.pd: Simplify 1 / X where X is an integer.
11929
119302022-01-28  Jakub Jelinek  <jakub@redhat.com>
11931
11932	PR tree-optimization/104263
11933	* gimple-ssa-store-merging.cc (get_status_for_store_merging): For
11934	cfun->can_throw_non_call_exceptions && cfun->eh test whether
11935	last non-debug stmt in the bb is store_valid_for_store_merging_p
11936	rather than last stmt.
11937
119382022-01-28  Martin Liska  <mliska@suse.cz>
11939
11940	* diagnostic.cc (diagnostic_action_after_output): Remove extra
11941	newline.
11942
119432022-01-28  Martin Liska  <mliska@suse.cz>
11944
11945	* config/rs6000/host-darwin.cc (segv_crash_handler):
11946	Do not use leading capital letter.
11947	(segv_handler): Likewise.
11948	* ipa-sra.cc (verify_splitting_accesses): Likewise.
11949	* varasm.cc (get_section): Likewise.
11950
119512022-01-28  Richard Biener  <rguenther@suse.de>
11952
11953	PR tree-optimization/104267
11954	* tree-vect-stmts.cc (vectorizable_call): Properly use the
11955	per-argument determined vector type for externals and
11956	invariants.
11957
119582022-01-28  Richard Biener  <rguenther@suse.de>
11959
11960	PR tree-optimization/104263
11961	* tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
11962	Purge edges also when !cfun->has_nonlocal_label
11963	and !cfun->calls_setjmp.
11964
119652022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
11966
11967	* config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
11968	attributes.
11969
119702022-01-28  Jakub Jelinek  <jakub@redhat.com>
11971
11972	PR lto/104237
11973	* cfgrtl.cc (loc_equal): New function.
11974	(unique_locus_on_edge_between_p): Use it.
11975
119762022-01-28  Richard Biener  <rguenther@suse.de>
11977
11978	* cfganal.h (mark_dfs_back_edges): Provide API with struct
11979	function argument.
11980	* cfganal.cc (mark_dfs_back_edges): Take a struct function
11981	to work on, add a wrapper passing cfun.
11982	* graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
11983	uses with fun which is already passed.
11984	(draw_cfg_edges): Likewise.
11985	(draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
11986	for fun != cfun.
11987
119882022-01-27  Patrick Palka  <ppalka@redhat.com>
11989
11990	PR c++/99895
11991	* tree.cc (build_call_vec): Add const to second parameter.
11992	* tree.h (build_call_vec): Likewise.
11993
119942022-01-27  Martin Liska  <mliska@suse.cz>
11995
11996	PR web/104254
11997	* diagnostic.cc (diagnostic_initialize):
11998	Initialize report_bug flag.
11999	(diagnostic_action_after_output):
12000	Explain that -freport-bug option can be used for pre-processed
12001	file creation.  Make the message shorter.
12002	(error_recursion): Rename Internal to internal.
12003	* diagnostic.h (struct diagnostic_context): New field.
12004	* opts.cc (common_handle_option): Init the field here.
12005
120062022-01-27  Kewen Lin  <linkw@linux.ibm.com>
12007
12008	PR target/103702
12009	* config/rs6000/rs6000.cc
12010	(rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
12011	assertion with early return.
12012
120132022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
12014
12015	PR middle-end/103642
12016	* gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
12017	for non-pointer or non-reference-to-pointer cases.
12018
120192022-01-27  Jakub Jelinek  <jakub@redhat.com>
12020
12021	PR tree-optimization/104196
12022	* gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
12023	* gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
12024	return NULL and emit needed stmts before and after stmt.
12025	* tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
12026	pick as operand_entry that will hold the merged test the one feeding
12027	earliest condition, ensure that by swapping range->idx with some
12028	other range's idx if needed.  If seq is non-NULL, don't actually swap
12029	it but instead rewrite stmts with undefined overflow in between
12030	the two locations.
12031	(maybe_optimize_range_tests): Set ops[]->id to bb->index with the
12032	corresponding condition even if they have non-NULL ops[]->op.
12033	Formatting fix.
12034
120352022-01-26  Jakub Jelinek  <jakub@redhat.com>
12036
12037	PR target/104239
12038	* config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
12039	asm.
12040	* config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
12041	before for loop instead of for init clause.
12042	* config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
12043
120442022-01-26  Jakub Jelinek  <jakub@redhat.com>
12045
12046	PR target/104239
12047	* config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
12048	_X86INTRIN_H_INCLUDED and adjust #error wording.
12049	* config/rs6000/bmi2intrin.h: Likewise.
12050
120512022-01-26  Jakub Jelinek  <jakub@redhat.com>
12052
12053	PR debug/104194
12054	* dwarf2out.cc (long_double_as_float128): New function.
12055	(modified_type_die): For powerpc64le IEEE 754 quad long double
12056	and complex long double emit those as DW_TAG_typedef to
12057	_Float128 or complex _Float128 base type.
12058
120592022-01-26  Marek Polacek  <polacek@redhat.com>
12060
12061	PR target/104213
12062	* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
12063	warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
12064
120652022-01-26  Martin Liska  <mliska@suse.cz>
12066
12067	* ipa-modref-tree.cc (modref_access_node::update):
12068	Remove "--param param=foo" with "--param foo".
12069	(modref_access_node::insert): Likewise.
12070	(modref_access_node::insert_kill): Likewise.
12071	* ipa-modref-tree.h (struct modref_ref_node): Likewise.
12072	(struct modref_base_node): Likewise.
12073	(struct modref_tree): Likewise.
12074
120752022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
12076
12077	PR target/94193
12078	* builtins.cc (expand_builtin_feclear_feraise_except): Add op0
12079	predicate check.
12080
120812022-01-25  Martin Sebor  <msebor@redhat.com>
12082
12083	PR tree-optimization/104203
12084	* gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
12085	TV_WARN_ACCESS.
12086	* pointer-query.cc (access_ref::merge_ref): Change return type.
12087	Convert failure to a conservative success.
12088	(access_ref::get_ref): Adjust to the change above.  Short-circuit
12089	PHI evaluation after first failure turned into conservative success.
12090	* pointer-query.h (access_ref::merge_ref): Change return type.
12091	* timevar.def (TV_WARN_ACCESS): New timer variable.
12092
120932022-01-25  David Edelsohn  <dje.gcc@gmail.com>
12094
12095	* config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
12096
120972022-01-25  Richard Biener  <rguenther@suse.de>
12098
12099	PR tree-optimization/104214
12100	* tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
12101	stronger guarantees for relational pointer compares when
12102	rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
12103	BASE0 + STEP0 - STEP1 cmp BASE1.
12104
121052022-01-25  Jakub Jelinek  <jakub@redhat.com>
12106
12107	PR target/104172
12108	* config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
12109	declare.
12110	* config/rs6000/rs6000.cc (rs6000_passes_ieee128,
12111	ieee128_mangling_gcc_8_1): Remove.
12112	(TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
12113	(rs6000_mangle_type): Return "u9__ieee128" instead of
12114	ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
12115	(rs6000_globalize_decl_name): Remove.
12116	* config/rs6000/rs6000-call.cc (init_cumulative_args,
12117	rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
12118
121192022-01-24  Martin Sebor  <msebor@redhat.com>
12120
12121	* pointer-query.cc (pointer_query::dump): Remove duplicate
12122	block.
12123
121242022-01-24  Marek Polacek  <polacek@redhat.com>
12125
12126	PR preprocessor/104030
12127	* doc/invoke.texi: Update documentation for -Wbidi-chars.
12128
121292022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
12130
12131	PR target/94193
12132	* builtins.cc (expand_builtin_fegetround): New function.
12133	(expand_builtin_feclear_feraise_except): New function.
12134	(expand_builtin): Add cases for BUILT_IN_FEGETROUND,
12135	BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
12136	* config/rs6000/rs6000.md (fegetroundsi): New pattern.
12137	(feclearexceptsi): New Pattern.
12138	(feraiseexceptsi): New Pattern.
12139	* doc/extend.texi: Add a new introductory paragraph about the
12140	new builtins.
12141	* doc/md.texi: (fegetround@var{m}): Document new optab.
12142	(feclearexcept@var{m}): Document new optab.
12143	(feraiseexcept@var{m}): Document new optab.
12144	* optabs.def (fegetround_optab): New optab.
12145	(feclearexcept_optab): New optab.
12146	(feraiseexcept_optab): New optab.
12147
121482022-01-24  Richard Biener  <rguenther@suse.de>
12149	    Jiufu Guo  <guojiufu@linux.ibm.com>
12150
12151	PR tree-optimization/100740
12152	PR tree-optimization/101508
12153	PR tree-optimization/101972
12154	PR tree-optimization/102131
12155	* tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
12156	constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
12157	BASE0 + STEP0 - STEP1 cmp BASE1 transform.
12158
121592022-01-24  Jakub Jelinek  <jakub@redhat.com>
12160
12161	PR sanitizer/104158
12162	* opt-functions.awk (var_set): Handle EnumBitSet property.
12163	* optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
12164	specified.
12165	* opts.h (enum cl_enum_var_value): New type.
12166	* opts-common.cc (decode_cmdline_option): Use CLEV_* values.
12167	Handle CLEV_BITSET.
12168	(cmdline_handle_error): Handle CLEV_BITSET.
12169	* opts.cc (test_enum_sets): Also test EnumBitSet requirements.
12170	* doc/options.texi (EnumBitSet): Document.
12171	* common.opt (fsanitize-coverage=): Use EnumBitSet instead of
12172	EnumSet.
12173	(trace-pc, trace-cmp): Drop Set properties.
12174
121752022-01-24  Jakub Jelinek  <jakub@redhat.com>
12176
12177	PR sanitizer/104158
12178	* common.opt (flag_sanitize_coverage): Remove Variable entry.
12179	(fsanitize-coverage=): Remove RejectNegative property, add
12180	Var(flag_sanitize_coverage) and EnumSet properties.
12181	(trace-pc): Add Set(1) property.
12182	(trace-cmp): Add Set(2) property.
12183	* opts.cc (common_handle_option): Don't handle
12184	OPT_fsanitize_coverage_.
12185
121862022-01-24  Jakub Jelinek  <jakub@redhat.com>
12187
12188	PR sanitizer/104158
12189	* opt-functions.awk (var_set): Handle EnumSet property.
12190	* optc-gen.awk: Don't disallow RejectNegative if EnumSet is
12191	specified.
12192	* opt-read.awk: Handle Set property.
12193	* opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
12194	(struct cl_decoded_option): Mention enum in value description.
12195	Add mask member.
12196	(set_option): Add mask argument defaulted to 0.
12197	* opts.cc (test_enum_sets): New function.
12198	(opts_cc_tests): Call it.
12199	* opts-common.cc (enum_arg_to_value): Change return argument
12200	from bool to int, on success return index into the cl_enum_arg
12201	array, on failure -1.  Add len argument, if non-0, use strncmp
12202	instead of strcmp.
12203	(opt_enum_arg_to_value): Adjust caller.
12204	(decode_cmdline_option): Handle EnumSet represented as
12205	CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
12206	(decode_cmdline_options_to_array): CLear opt_array[0].mask.
12207	(handle_option): Pass decoded->mask to set_options last argument.
12208	(generate_option): Clear decoded->mask.
12209	(generate_option_input_file): Likewise.
12210	(cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
12211	(set_option): Add mask argument, use it for CLVC_ENUM.
12212	(control_warning_option): Adjust enum_arg_to_value caller.
12213	* doc/options.texi: Document Set and EnumSet properties.
12214
122152022-01-24  Jakub Jelinek  <jakub@redhat.com>
12216
12217	PR bootstrap/104170
12218	* config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12219	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12220	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12221	using OPTION_*_P macros.
12222	* config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12223	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12224	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12225	using OPTION_*_P macros.
12226	* config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12227	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12228	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12229	using OPTION_*_P macros.
12230	* config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
12231	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
12232	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
12233	using OPTION_*_P macros.
12234	* config/fuchsia.h (OPTION_MUSL_P): Redefine.
12235	* config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
12236	* common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
12237	ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
12238	OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
12239	* common/config/i386/i386-common.cc (ix86_supports_split_stack): If
12240	OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
12241	otherwise assume if (true).
12242
122432022-01-24  Kito Cheng  <kito.cheng@sifive.com>
12244
12245	* common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
12246	Skip zicsr and zifencei if I-ext is 2.0.
12247
122482022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
12249
12250	* config.gcc: Modify default isa_spec version.
12251
122522022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
12253
12254	PR tree-optimization/102087
12255	* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
12256	Correct PLUS result type.
12257
122582022-01-24  H.J. Lu  <hjl.tools@gmail.com>
12259
12260	PR target/104188
12261	* config/i386/predicates.md (bcst_mem_operand): Also check mode
12262	of memory broadcast.
12263
122642022-01-23  Andrew Pinski  <apinski@marvell.com>
12265
12266	PR target/64821
12267	* config/aarch64/aarch64-builtins.cc
12268	(aarch64_general_gimple_fold_builtin): Handle
12269	__builtin_aarch64_sqrt* and simplify into SQRT internal
12270	function.
12271
122722022-01-22  Jakub Jelinek  <jakub@redhat.com>
12273
12274	PR other/104176
12275	* opts-global.cc (handle_common_deferred_options): Quote
12276	--enable-plugin in diagnostics to avoid -Werror=format-diag.
12277
122782022-01-21  Michael Meissner  <meissner@the-meissners.org>
12279
12280	PR target/104136
12281	* config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
12282	* config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
12283	* config/rs6000/rs6000.md (prefixed attribute): Delete section
12284	that sets the prefixed attribute for xxspltiw, xxspltidp, and
12285	xxsplti32dx instructions.
12286	(movsf_hardfloat): Explicitly set the prefixed attribute
12287	when xxspltiw and xxspltidp instructions are generated.
12288	(mov<mode>_hardfloat32): Likewise.
12289	(mov<mode>_hardfloat64): Likewise.
12290	* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
12291	prefixed attribute for xxspltiw and xxspltidp instructions.
12292	(vsx_mov<mode>_32bit): Likewise.
12293
122942022-01-21  H.J. Lu  <hjl.tools@gmail.com>
12295
12296	PR bootstrap/104170
12297	* common/config/i386/i386-common.cc (ix86_supports_split_stack):
12298	Return true only on glibc.
12299	* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
12300	Revert commit c163647ffbc.
12301	* config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
12302
123032022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
12304
12305	* common/config/s390/s390-common.cc (s390_supports_split_stack):
12306	Only support split-stack on glibc targets.
12307	* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
12308	* config/i386/gnu.h (defined): Ditto.
12309
123102022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
12311
12312	* config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
12313	vector float and vector double.
12314
123152022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
12316
12317	* config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
12318	Fix mention of ifunc in string.
12319
123202022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
12321
12322	PR middle-end/104140
12323	* tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
12324	operands of the widening multiplication are either both signed or
12325	both unsigned, and abort the conversion if mismatched.
12326	* doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
12327	(MULT_HIGHPART_EXPR): Clarify that operands must have the same
12328	signedness.
12329	* tree.def (MULT_HIGHPART_EXPR): Document both operands must have
12330	integer types with the same precision and signedness.
12331	(WIDEN_MULT_EXPR): Document that operands must have integer types
12332	with the same precision, but possibly differing signedness.
12333	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
12334	riscv_current_subset_list returning a NULL pointer (empty list).
12335
123362022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
12337
12338	PR target/103676
12339	* ira.h (struct target_ira): Add member
12340	x_ira_exclude_class_mode_regs.
12341	(ira_exclude_class_mode_regs): New macro.
12342	* lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
12343	move from here ...
12344	* lra-int.h: ... to here.
12345	(lra_create_new_reg_with_unique_value): Add arg
12346	exclude_start_hard_regs.
12347	(class lra_reg): Add member exclude_start_hard_regs.
12348	* lra-assigns.cc (find_hard_regno_for_1): Setup
12349	impossible_start_hard_regs from exclude_start_hard_regs.
12350	* lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
12351	it lra_create_new_reg[_with_unique_value].
12352	(match_reload): Ditto.
12353	(check_and_process_move): Pass NULL
12354	exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
12355	(goal_alt_exclude_start_hard_regs): New static variable.
12356	(process_addr_reg, simplify_operand_subreg): Pass NULL
12357	exclude_start_hard_regs to lra_create_new_reg_with_unique_value
12358	and get_reload_reg.
12359	(process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
12360	Use this_alternative_exclude_start_hard_regs additionally to find
12361	winning operand alternative.
12362	(base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
12363	exclude_start_hard_regs to lra_create_new_reg.
12364	(process_address_1, emit_inc): Ditto.
12365	(curr_insn_transform): Pass exclude_start_hard_regs value to
12366	lra_create_new_reg, get_reload_reg, match_reload.
12367	(inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
12368	to lra_create_new_reg.
12369	(process_invariant_for_inheritance): Ditto.
12370	* lra-remat.cc (update_scratch_ops): Ditto.
12371	* lra.cc (lra_create_new_reg_with_unique_value): Add arg
12372	exclude_start_hard_regs.  Setup the corresponding member of
12373	lra reg info.
12374	(lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
12375	to lra_create_new_reg_with_unique_value.
12376	(initialize_lra_reg_info_element): Initialize member
12377	exclude_start_hard_regs.
12378	(get_scratch_reg): Pass NULL to lra_create_new_reg.
12379	* ira.cc (setup_prohibited_class_mode_regs): Rename to
12380	setup_prohibited_and_exclude_class_mode_regs and calculate
12381	ira_exclude_class_mode_regs.
12382
123832022-01-21  Martin Liska  <mliska@suse.cz>
12384
12385	* configure.ac: Detect ld_is_mold and use it for
12386	comdat_group=yes and gcc_cv_ld_hidden=yes.
12387	* configure: Regenerate.
12388
123892022-01-21  Richard Biener  <rguenther@suse.de>
12390
12391	PR tree-optimization/100089
12392	* tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
12393	of if-converted loops with unvectorized COND_EXPRs for
12394	all but the unlimited cost models.
12395
123962022-01-21  Ard Biesheuvel  <ardb@kernel.org>
12397
12398	* config/arm/arm-opts.h (enum stack_protector_guard): New.
12399	* config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
12400	New.
12401	* config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
12402	(arm_option_override_internal): Handle and put in error checks.
12403	for stack protector guard options.
12404	(arm_option_reconfigure_globals): Likewise.
12405	(arm_stack_protect_tls_canary_mem): New.
12406	(arm_stack_protect_guard): New.
12407	* config/arm/arm.md (stack_protect_set): New.
12408	(stack_protect_set_tls): Likewise.
12409	(stack_protect_test): Likewise.
12410	(stack_protect_test_tls): Likewise.
12411	(reload_tp_hard): Likewise.
12412	* config/arm/arm.opt (-mstack-protector-guard): New
12413	(-mstack-protector-guard-offset): New.
12414	* doc/invoke.texi: Document new options.
12415
124162022-01-21  Richard Biener  <rguenther@suse.de>
12417
12418	PR tree-optimization/104156
12419	* tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
12420	Collect and reset debug stmts with out-of-loop uses when
12421	hoisting guards.
12422	(find_loop_guard): Adjust.
12423	(empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
12424	(used_outside_loop_p): Push debug uses to a vector of
12425	debug stmts to reset.
12426	(hoist_guard): Adjust -fopt-info category.
12427
124282022-01-21  Richard Biener  <rguenther@suse.de>
12429
12430	PR tree-optimization/104152
12431	* tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
12432	can_duplicate_and_interleave_p check.
12433
124342022-01-21  Jakub Jelinek  <jakub@redhat.com>
12435
12436	* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
12437	Avoid passing var to warning_at when the format string doesn't
12438	refer to it.
12439
124402022-01-21  Aldy Hernandez  <aldyh@redhat.com>
12441
12442	PR tree-optimization/103721
12443	* gimple-range-path.cc
12444	(path_range_query::relations_may_be_invalidated): New.
12445	(path_range_query::compute_ranges_in_block): Reset relations if
12446	they may be invalidated.
12447	(path_range_query::maybe_register_phi_relation): Exit if relations
12448	may be invalidated on incoming edge.
12449	(path_range_query::compute_phi_relations): Pass incoming PHI edge
12450	to maybe_register_phi_relation.
12451	* gimple-range-path.h (relations_may_be_invalidated): New.
12452	(maybe_register_phi_relation): Pass edge instead of tree.
12453	* tree-ssa-threadbackward.cc (back_threader::back_threader):
12454	Mark DFS edges.
12455	* value-relation.cc (path_oracle::path_oracle): Call
12456	mark_dfs_back_edges.
12457	(path_oracle::register_relation): Add SSA names to m_registered
12458	bitmap.
12459	(path_oracle::reset_path): Clear m_registered bitmap.
12460	* value-relation.h (path_oracle::set_root_oracle): New.
12461
124622022-01-21  Jakub Jelinek  <jakub@redhat.com>
12463
12464	PR rtl-optimization/102478
12465	* optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
12466	force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
12467	would be needed.
12468
124692022-01-20  Richard Biener  <rguenther@suse.de>
12470
12471	PR middle-end/100786
12472	* gimple-fold.cc (get_symbol_constant_value): Only return
12473	values of compatible type to the symbol.
12474
124752022-01-20  Andrew MacLeod  <amacleod@redhat.com>
12476
12477	* value-relation.cc (relation_oracle::valid_equivs): Query and add
12478	if valid members of a set.
12479	(equiv_oracle::register_equiv): Call valid_equivs rather than
12480	bitmap direct operations.
12481	(path_oracle::register_equiv): Ditto.
12482	* value-relation.h (relation_oracle::valid_equivs): New prototype.
12483
124842022-01-20  Richard Biener  <rguenther@suse.de>
12485
12486	PR target/100784
12487	* config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
12488	LHS before folding __builtin_ia32_shufpd and friends.
12489
124902022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12491
12492	* config/arm/crypto.md (aes_op_protect): Allow moves from core
12493	registers and from memory.
12494	(aes_op_protect_misalign_load): New pattern.
12495	(aes_op_protect_neon_vld1v16qi): New pattern.
12496
124972022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12498
12499	* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
12500	New pattern.
12501	(aarch32_crypto_aese_fused_protected): Likewise.
12502	(aarch32_crypto_aesd_fused_protected): Likewise.
12503
125042022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12505
12506	* config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
12507	to define_expand.  Add mitigation for the Cortex-A AES erratum
12508	when enabled.
12509	(*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
12510	on original crypto_<CRYPTO_AES:crypto_pattern> insn.
12511	(aes_op_protect): New pattern.
12512	* config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
12513
125142022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12515
12516	* config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
12517	(ALL_QUIRKS): Add it.
12518	(cortex-a57, cortex-a72): Enable it.
12519	(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
12520	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
12521	option.
12522	(mfix-cortex-a72-aes-1655431): New option alias.
12523	* config/arm/arm.cc (arm_option_override): Handle default settings
12524	for AES erratum switch.
12525	* doc/invoke.texi (Arm Options): Document new options.
12526
125272022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12528
12529	* config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
12530	<crypto_mode> rather than hard-coding the mode.
12531	(crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
12532	(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
12533	(*aarch32_crypto_aese_fused): Likewise.
12534	(*aarch32_crypto_aesd_fused): Likewise.
12535	(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
12536	(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
12537	(crypto_sha1h_lb): Likewise.
12538	(crypto_vmullp64): Likewise.
12539	(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
12540	(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
12541
125422022-01-20  Richard Earnshaw  <rearnsha@arm.com>
12543
12544	* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
12545	iterator to pattern name to disambiguate.
12546	(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
12547	(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
12548	(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
12549	(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
12550	(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
12551
125522022-01-20  Martin Liska  <mliska@suse.cz>
12553
12554	PR bootstrap/104135
12555	* emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
12556	* rtl.cc: Partially disable -Wformat-diag for RTL checking
12557	error messages.
12558
125592022-01-20  Jakub Jelinek  <jakub@redhat.com>
12560
12561	PR debug/103874
12562	* dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
12563	block_num > 0, index entry even if !have_multiple_function_sections.
12564
125652022-01-20  liuhongt  <hongtao.liu@intel.com>
12566
12567	PR target/103771
12568	* tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
12569	integral mode mask pack by multi steps which takes
12570	vec_pack_sbool_trunc_optab as start when elements number is
12571	less than BITS_PER_UNITS.
12572
125732022-01-20  Richard Biener  <rguenther@suse.de>
12574
12575	PR tree-optimization/104114
12576	* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
12577	single element vector decomposition.
12578
125792022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12580
12581	* ifcvt.cc (noce_convert_multiple_sets_1): New function.
12582	(noce_convert_multiple_sets): Call function a second time if we can
12583	improve the first try.
12584
125852022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12586
12587	* ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
12588	reversed comparison.
12589	(try_emit_cmove_seq): New function to facilitate creating a cmov
12590	sequence.
12591	(noce_convert_multiple_sets): Create two sequences and use the less
12592	expensive one.
12593
125942022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12595
12596	* rtl.h (struct rtx_comparison): New struct that holds an rtx
12597	comparison.
12598	* config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
12599	single parameters.
12600	(rs6000_emit_swsqrt): Likewise.
12601	* expmed.cc (expand_sdiv_pow2): Likewise.
12602	(emit_store_flag): Likewise.
12603	* expr.cc (expand_cond_expr_using_cmove): Likewise.
12604	(expand_expr_real_2): Likewise.
12605	* ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
12606	parameters.
12607	* optabs.cc (emit_conditional_move_1): New function.
12608	(expand_doubleword_shift_condmove): Use struct.
12609	(emit_conditional_move): Use struct and allow to call directly
12610	without going through preparation steps.
12611	* optabs.h (emit_conditional_move): Use struct.
12612
126132022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12614
12615	* ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
12616	(noce_process_if_block): Use potential costs.
12617
126182022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12619
12620	* ifcvt.cc (noce_convert_multiple_sets): Allow constants.
12621	(bb_ok_for_noce_convert_multiple_sets): Likewise.
12622
126232022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
12624
12625	* ifcvt.cc (need_cmov_or_rewire): New function.
12626	(noce_convert_multiple_sets): Call it.
12627
126282022-01-19  David Malcolm  <dmalcolm@redhat.com>
12629
12630	* attribs.cc (attribute_c_tests): Rename to...
12631	(attribs_cc_tests): ...this.
12632	* bitmap.cc (bitmap_c_tests): Rename to...
12633	(bitmap_cc_tests): ...this.
12634	* cgraph.cc (cgraph_c_finalize): Rename to...
12635	(cgraph_cc_finalize): ...this.
12636	(cgraph_c_tests): Rename to...
12637	(cgraph_cc_tests): ...this.
12638	* cgraph.h (cgraph_c_finalize): Rename to...
12639	(cgraph_cc_finalize): ...this.
12640	(cgraphunit_c_finalize): Rename to...
12641	(cgraphunit_cc_finalize): ...this.
12642	* cgraphunit.cc (cgraphunit_c_finalize): Rename to...
12643	(cgraphunit_cc_finalize): ...this.
12644	* convert.cc (convert_c_tests): Rename to...
12645	(convert_cc_tests): ...this.
12646	* dbgcnt.cc (dbgcnt_c_tests): Rename to...
12647	(dbgcnt_cc_tests): ...this.
12648	* diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
12649	(diagnostic_show_locus_cc_tests): ...this.
12650	* diagnostic.cc (diagnostic_c_tests): Rename to...
12651	(diagnostic_cc_tests): ...this.
12652	* dumpfile.cc (dumpfile_c_tests): Rename to...
12653	(dumpfile_cc_tests): ...this.
12654	* dwarf2out.cc (dwarf2out_c_finalize): Rename to...
12655	(dwarf2out_cc_finalize): ...this.
12656	* dwarf2out.h (dwarf2out_c_finalize): Rename to...
12657	(dwarf2out_cc_finalize): ...this.
12658	* edit-context.cc (edit_context_c_tests): Rename to...
12659	(edit_context_cc_tests): ...this.
12660	* et-forest.cc (et_forest_c_tests): Rename to...
12661	(et_forest_cc_tests): ...this.
12662	* fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
12663	(fibonacci_heap_cc_tests): ...this.
12664	* fold-const.cc (fold_const_c_tests): Rename to...
12665	(fold_const_cc_tests): ...this.
12666	* function-tests.cc (function_tests_c_tests): Rename to...
12667	(function_tests_cc_tests): ...this.
12668	* gcse.cc (gcse_c_finalize): Rename to...
12669	(gcse_cc_finalize): ...this.
12670	* gcse.h (gcse_c_finalize): Rename to...
12671	(gcse_cc_finalize): ...this.
12672	* ggc-tests.cc (ggc_tests_c_tests): Rename to...
12673	(ggc_tests_cc_tests): ...this.
12674	* gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
12675	(store_merging_cc_tests): ...this.
12676	* gimple.cc (gimple_c_tests): Rename to...
12677	(gimple_cc_tests): ...this.
12678	* hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
12679	(hash_map_tests_cc_tests): ...this.
12680	* hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
12681	(hash_set_tests_cc_tests): ...this.
12682	* input.cc (input_c_tests): Rename to...
12683	(input_cc_tests): ...this.
12684	* ipa-cp.cc (ipa_cp_c_finalize): Rename to...
12685	(ipa_cp_cc_finalize): ...this.
12686	* ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
12687	(ipa_fnsummary_cc_finalize): ...this.
12688	* ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
12689	(ipa_fnsummary_cc_finalize): ...this.
12690	* ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
12691	(ipa_modref_tree_cc_tests): ...this.
12692	* ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
12693	* ipa-modref.cc (ipa_modref_c_finalize): Rename to...
12694	(ipa_modref_cc_finalize): ...this.
12695	* ipa-modref.h (ipa_modref_c_finalize): Rename to...
12696	(ipa_modref_cc_finalize): ...this.
12697	* ipa-prop.h (ipa_cp_c_finalize): Rename to...
12698	(ipa_cp_cc_finalize): ...this.
12699	* ipa-reference.cc (ipa_reference_c_finalize): Rename to...
12700	(ipa_reference_cc_finalize): ...this.
12701	* ipa-reference.h (ipa_reference_c_finalize): Rename to...
12702	(ipa_reference_cc_finalize): ...this.
12703	* ira-costs.cc (ira_costs_c_finalize): Rename to...
12704	(ira_costs_cc_finalize): ...this.
12705	* ira.h (ira_costs_c_finalize): Rename to...
12706	(ira_costs_cc_finalize): ...this.
12707	* opt-suggestions.cc (opt_proposer_c_tests): Rename to...
12708	(opt_suggestions_cc_tests): ...this.
12709	* opts.cc (opts_c_tests): Rename to...
12710	(opts_cc_tests): ...this.
12711	* predict.cc (predict_c_tests): Rename to...
12712	(predict_cc_tests): ...this.
12713	* pretty-print.cc (pretty_print_c_tests): Rename to...
12714	(pretty_print_cc_tests): ...this.
12715	* read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
12716	(read_rtl_function_cc_tests): ...this.
12717	* rtl-tests.cc (rtl_tests_c_tests): Rename to...
12718	(rtl_tests_cc_tests): ...this.
12719	* sbitmap.cc (sbitmap_c_tests): Rename to...
12720	(sbitmap_cc_tests): ...this.
12721	* selftest-run-tests.cc (selftest::run_tests): Update calls for
12722	_c_ to _cc_ function renamings; fix names of attribs and
12723	opt-suggestions tests.
12724	* selftest.cc (selftest_c_tests): Rename to...
12725	(selftest_cc_tests): ...this.
12726	* selftest.h (attribute_c_tests): Rename to...
12727	(attribs_cc_tests): ...this.
12728	(bitmap_c_tests): Rename to...
12729	(bitmap_cc_tests): ...this.
12730	(cgraph_c_tests): Rename to...
12731	(cgraph_cc_tests): ...this.
12732	(convert_c_tests): Rename to...
12733	(convert_cc_tests): ...this.
12734	(diagnostic_c_tests): Rename to...
12735	(diagnostic_cc_tests): ...this.
12736	(diagnostic_show_locus_c_tests): Rename to...
12737	(diagnostic_show_locus_cc_tests): ...this.
12738	(dumpfile_c_tests): Rename to...
12739	(dumpfile_cc_tests): ...this.
12740	(edit_context_c_tests): Rename to...
12741	(edit_context_cc_tests): ...this.
12742	(et_forest_c_tests): Rename to...
12743	(et_forest_cc_tests): ...this.
12744	(fibonacci_heap_c_tests): Rename to...
12745	(fibonacci_heap_cc_tests): ...this.
12746	(fold_const_c_tests): Rename to...
12747	(fold_const_cc_tests): ...this.
12748	(function_tests_c_tests): Rename to...
12749	(function_tests_cc_tests): ...this.
12750	(ggc_tests_c_tests): Rename to...
12751	(ggc_tests_cc_tests): ...this.
12752	(gimple_c_tests): Rename to...
12753	(gimple_cc_tests): ...this.
12754	(hash_map_tests_c_tests): Rename to...
12755	(hash_map_tests_cc_tests): ...this.
12756	(hash_set_tests_c_tests): Rename to...
12757	(hash_set_tests_cc_tests): ...this.
12758	(input_c_tests): Rename to...
12759	(input_cc_tests): ...this.
12760	(opts_c_tests): Rename to...
12761	(opts_cc_tests): ...this.
12762	(predict_c_tests): Rename to...
12763	(predict_cc_tests): ...this.
12764	(pretty_print_c_tests): Rename to...
12765	(pretty_print_cc_tests): ...this.
12766	(read_rtl_function_c_tests): Rename to...
12767	(read_rtl_function_cc_tests): ...this.
12768	(rtl_tests_c_tests): Rename to...
12769	(rtl_tests_cc_tests): ...this.
12770	(sbitmap_c_tests): Rename to...
12771	(sbitmap_cc_tests): ...this.
12772	(selftest_c_tests): Rename to...
12773	(selftest_cc_tests): ...this.
12774	(simplify_rtx_c_tests): Rename to...
12775	(simplify_rtx_cc_tests): ...this.
12776	(spellcheck_c_tests): Rename to...
12777	(spellcheck_cc_tests): ...this.
12778	(spellcheck_tree_c_tests): Rename to...
12779	(spellcheck_tree_cc_tests): ...this.
12780	(sreal_c_tests): Rename to...
12781	(sreal_cc_tests): ...this.
12782	(store_merging_c_tests): Rename to...
12783	(store_merging_cc_tests): ...this.
12784	(tree_c_tests): Rename to...
12785	(tree_cc_tests): ...this.
12786	(tree_cfg_c_tests): Rename to...
12787	(tree_cfg_cc_tests): ...this.
12788	(typed_splay_tree_c_tests): Rename to...
12789	(typed_splay_tree_cc_tests): ...this.
12790	(vec_c_tests): Rename to...
12791	(vec_cc_tests): ...this.
12792	(vec_perm_indices_c_tests): Rename to...
12793	(vec_perm_indices_cc_tests): ..this.
12794	(opt_proposer_c_tests): Rename to...
12795	(opt_suggestions_cc_tests): ...this.
12796	(dbgcnt_c_tests): Rename to...
12797	(dbgcnt_cc_tests): ...this.
12798	(ipa_modref_tree_c_tests): Rename to...
12799	(ipa_modref_tree_cc_tests): ...this.
12800	* simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
12801	(simplify_rtx_cc_tests): ...this.
12802	* spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
12803	(spellcheck_tree_cc_tests): ...this.
12804	* spellcheck.cc (spellcheck_c_tests): Rename to...
12805	(spellcheck_cc_tests): ...this.
12806	* sreal.cc (sreal_c_tests): Rename to...
12807	(sreal_cc_tests): ...this.
12808	* toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
12809	function renamings.
12810	* tree-cfg.cc (tree_cfg_c_tests): Rename to...
12811	(tree_cfg_cc_tests): ...this.
12812	* tree.cc (tree_c_tests): Rename to...
12813	(tree_cc_tests): ...this.
12814	* typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
12815	(typed_splay_tree_cc_tests): ...this.
12816	* vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
12817	(vec_perm_indices_cc_tests): ...this.
12818	* vec.cc (vec_c_tests): Rename to...
12819	(vec_cc_tests): ...this.
12820
128212022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
12822
12823	PR tree-optimization/103997
12824	* tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
12825	vectorization.
12826
128272022-01-19  Jakub Jelinek  <jakub@redhat.com>
12828
12829	PR middle-end/102860
12830	* match.pd (x %[fl] y -> x % y): New simplification for
12831	unsigned integral types.
12832	* optabs-tree.cc (optab_for_tree_code): Return unknown_optab
12833	for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
12834
128352022-01-19  Richard Biener  <rguenther@suse.de>
12836
12837	PR tree-optimization/104112
12838	* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
12839	for required intermediate vector types.
12840
128412022-01-19  Jakub Jelinek  <jakub@redhat.com>
12842
12843	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
12844
128452022-01-19  Martin Liska  <mliska@suse.cz>
12846
12847	* configure.ac: Remove -Wno-error=format-diag.
12848	* configure: Regenerate.
12849
128502022-01-19  Martin Liska  <mliska@suse.cz>
12851
12852	* config/riscv/riscv.cc (riscv_handle_type_attribute):
12853	Update one -Wformat-diag string in warning message.
12854
128552022-01-19  Jakub Jelinek  <jakub@redhat.com>
12856
12857	PR middle-end/104103
12858	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
12859	.ASAN_MARK calls.
12860
128612022-01-19  Jakub Jelinek  <jakub@redhat.com>
12862
12863	PR c++/89074
12864	* fold-const.cc (address_compare): Consider different STRING_CSTs
12865	with the same lengths that memcmp the same as equal, not different.
12866
128672022-01-19  Jakub Jelinek  <jakub@redhat.com>
12868
12869	* config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
12870	{%0}.
12871
128722022-01-19  Martin Liska  <mliska@suse.cz>
12873	    Thomas Schwinge  <thomas@codesourcery.com>
12874
12875	* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
12876	warning messages.
12877
128782022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12879
12880	PR target/104090
12881	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
12882	rs6000_cpu.
12883
128842022-01-19  Jakub Jelinek  <jakub@redhat.com>
12885
12886	PR target/104104
12887	* config/i386/sse.md
12888	(<avx512>_<complexopname>_<mode><maskc_name><round_name>,
12889	avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
12890	avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
12891	avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
12892	avx512dq_rangep<mode><mask_name><round_saeonly_name>,
12893	avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
12894	<avx512>_getmant<mode><mask_name><round_saeonly_name>,
12895	avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12896	Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
12897
128982022-01-19  Martin Sebor  <msebor@redhat.com>
12899
12900	PR middle-end/104069
12901	* gimple-ssa-warn-access.cc (pointers_related_p): Return false for
12902	an unknown result as documented.
12903
129042022-01-18  Andrew Pinski  <apinski@marvell.com>
12905
12906	* ipa-split.cc (visit_bb): Fix comment before the
12907	warning/error attribute checking code.
12908
129092022-01-18  David Faust  <david.faust@oracle.com>
12910
12911	* config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
12912	for base strtab offset yet as it may change.
12913	(output_asm_btfext_core_reloc): Do so here instead.
12914	(output_btfext_core_sections): Likewise.
12915
129162022-01-18  David Faust  <david.faust@oracle.com>
12917
12918	* config/bpf/coreout.cc (output_btfext_header): Account for
12919	4-byte record size in core_relo_len.
12920	(output_btfext_core_sections): Only write record size once.
12921	* config/bpf/coreout.h (btf_ext_section_header): Delete unused
12922	member.
12923
129242022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
12925
12926	* common/config/riscv/riscv-common.cc
12927	(riscv_subset_list::parse_multiletter_ext): Move pointer
12928	arithmetic ahead of `free'.
12929
129302022-01-18  Jason Merrill  <jason@redhat.com>
12931
12932	PR c++/104007
12933	* gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
12934	context.
12935
129362022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
12937
12938	PR middle-end/103163
12939	* emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
12940	(init_emit_once): ...not here.
12941
129422022-01-18  Martin Liska  <mliska@suse.cz>
12943
12944	* collect2.cc (scan_libraries): Fix -Wformat-diag issues.
12945	* config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
12946	* config/arc/arc.md: Likewise.
12947	* config/avr/avr.cc (avr_section_type_flags): Likewise.
12948	* config/bfin/bfin.cc (bfin_option_override): Likewise.
12949	(bfin_handle_longcall_attribute): Likewise.
12950	* config/cris/cris.h (FUNCTION_PROFILER): Likewise.
12951	* config/frv/frv.cc (frv_expand_builtin): Likewise.
12952	* config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
12953	* config/iq2000/iq2000.cc (save_restore_insns): Likewise.
12954	(iq2000_print_operand_address): Likewise.
12955	(iq2000_print_operand): Likewise.
12956	* config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
12957	(m32c_pragma_address): Likewise.
12958	* config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
12959	* config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
12960	(mips_set_compression_mode): Likewise.
12961	* config/mmix/mmix.cc (mmix_function_profiler): Likewise.
12962	(mmix_print_operand): Likewise.
12963	(mmix_output_shiftvalue_op_from_str): Likewise.
12964	(mmix_output_shifted_value): Likewise.
12965	* config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
12966	* config/msp430/msp430.cc (msp430_option_override): Likewise.
12967	(msp430_attr): Likewise.
12968	(msp430_expand_delay_cycles): Likewise.
12969	(msp430_expand_builtin): Likewise.
12970	* config/rs6000/aix73.h: Likewise.
12971	* config/rs6000/rtems.h (INVALID_64BIT): Likewise.
12972	* config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
12973	(valid_psw_flag): Likewise.
12974	* config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
12975	* config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
12976	(xstormy16_expand_builtin_va_start): Likewise.
12977	(xstormy16_handle_below100_attribute): Likewise.
12978
129792022-01-18  Martin Liska  <mliska@suse.cz>
12980
12981	* config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
12982	warning.
12983	(vms_pragma_standard): Likewise.
12984	(vms_pragma_extern_prefix): Likewise.
12985
129862022-01-18  Martin Liska  <mliska@suse.cz>
12987
12988	* config/xtensa/xtensa.cc (print_operand): Fix warnings.
12989	(print_operand_address): Likewise.
12990	(xtensa_multibss_section_type_flags): Likewise.
12991
129922022-01-18  Martin Liska  <mliska@suse.cz>
12993
12994	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
12995	wording of an error message.
12996
129972022-01-18  Martin Liska  <mliska@suse.cz>
12998
12999	* config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
13000	warning.
13001	(ghs_pragma_section): Likewise.
13002	(ghs_pragma_interrupt): Likewise.
13003	(ghs_pragma_starttda): Likewise.
13004	(ghs_pragma_startsda): Likewise.
13005	(ghs_pragma_startzda): Likewise.
13006	(ghs_pragma_endtda): Likewise.
13007	(ghs_pragma_endsda): Likewise.
13008	(ghs_pragma_endzda): Likewise.
13009
130102022-01-18  Martin Liska  <mliska@suse.cz>
13011
13012	* config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
13013	Fix warnings.
13014	* config/nds32/nds32-intrinsic.md: Likewise.
13015	* config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
13016	* config/nds32/nds32.cc (nds32_print_operand): Likewise.
13017	(nds32_insert_attributes): Likewise.
13018
130192022-01-18  Martin Liska  <mliska@suse.cz>
13020
13021	* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
13022	keyword.
13023	* config/nvptx/nvptx.md: Remove trailing dot.
13024
130252022-01-18  Martin Liska  <mliska@suse.cz>
13026
13027	* common/config/riscv/riscv-common.cc (riscv_subset_list::add):
13028	Wrap keywords with quotes and remove trailing dots.
13029	(riscv_subset_list::parsing_subset_version): Likewise.
13030	(riscv_subset_list::parse_std_ext): Likewise.
13031	(riscv_subset_list::parse_multiletter_ext): Likewise.
13032	* config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
13033
130342022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13035
13036	* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
13037	argument suggested_unroll_factor.
13038	(vect_analyze_loop_costing): Likewise.
13039	(_loop_vec_info::_loop_vec_info): Initialize new member
13040	suggested_unroll_factor.
13041	(vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
13042	main loop use partial vectors.
13043	(vect_analyze_loop_2): Pass and use new argument
13044	suggested_unroll_factor.
13045	(vect_analyze_loop_1): Change to intialize local
13046	suggested_unroll_factor and use it.
13047	(vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
13048	* tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
13049	suggested_unroll_factor.
13050	(vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
13051	(vector_costs::suggested_unroll_factor): New getter function.
13052	(finish_cost): Set return argument suggested_unroll_factor.
13053
130542022-01-18  Andrew MacLeod  <amacleod@redhat.com>
13055
13056	PR tree-optimization/104038
13057	* doc/invoke.texi (relation-block-limit): New.
13058	* params.opt (relation-block-limit): New.
13059	* value-relation.cc (dom_oracle::register_relation): Check for NULL
13060	record before invoking transitive registery.
13061	(dom_oracle::set_one_relation): Check limit before creating record.
13062	(dom_oracle::register_transitives): Stop when no record created.
13063	* value-relation.h (relation_chain_head::m_num_relations): New.
13064
130652022-01-18  Richard Biener  <rguenther@suse.de>
13066
13067	PR ipa/103989
13068	* ipa-inline.cc (inline_small_functions): Do not enqueue call
13069	edges originating in functions compiled with -Og.
13070
130712022-01-18  Richard Biener  <rguenther@suse.de>
13072
13073	PR ipa/103989
13074	* passes.def (pass_all_optimizations_g): Remove pass_modref
13075	and pass_local_pure_const.
13076
130772022-01-18  Martin Liska  <mliska@suse.cz>
13078
13079	* config/s390/s390.cc: Fix -Wformat-diag warnings.
13080
130812022-01-18  Martin Liska  <mliska@suse.cz>
13082
13083	* config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
13084	keyword in quotes.
13085	(s390_resolve_overloaded_builtin): Remove trailing dot.
13086	* config/s390/s390.cc (s390_const_operand_ok): Use - for range.
13087	(s390_expand_builtin): Remove trailing dot.
13088	(s390_emit_prologue): Likewise, use semicolon.
13089	(s390_option_override_internal): Update keyword.
13090	* varasm.cc (do_assemble_alias): Wrap keyword in quotes.
13091
130922022-01-18  Martin Liska  <mliska@suse.cz>
13093
13094	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
13095	keywords and use %qs instead of %<%s%>.
13096
130972022-01-18  Richard Biener  <rguenther@suse.de>
13098
13099	PR tree-optimization/103987
13100	* tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
13101	query with a pointer check.
13102
131032022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
13104
13105	PR target/104005
13106	* config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
13107	When using MEM_EXPR, require the base to be a decl.
13108
131092022-01-18  Richard Biener  <rguenther@suse.de>
13110
13111	* cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
13112	avoid padding.
13113	* function.h (struct function): Likewise.
13114
131152022-01-18  Arnaud Charlet  <charlet@adacore.com>
13116
13117	* doc/install.texi: Update prerequisites for GNAT
13118
131192022-01-18  Andrew Pinski  <apinski@marvell.com>
13120
13121	PR tree-optimization/101941
13122	* ipa-split.cc (visit_bb): Disallow function calls where
13123	the function has either error or warning attribute.
13124
131252022-01-18  Richard Biener  <rguenther@suse.de>
13126
13127	PR tree-optimization/104064
13128	* tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
13129	DR_INIT fits in a signed HWI, represent the difference from the
13130	first DR in unsigned.
13131
131322022-01-17  Martin Liska  <mliska@suse.cz>
13133
13134	* Makefile.in: Rename .c names to .cc.
13135	* config.gcc: Likewise.
13136	* configure: Regenerate. Likewise.
13137	* configure.ac: Likewise.
13138	* gengtype.cc (set_gc_used): Likewise.
13139	(source_dot_c_frul): Likewise.
13140	(source_dot_cc_frul): Likewise.
13141	(struct file_rule_st): Likewise.
13142	(close_output_files): Likewise.
13143	* config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
13144
131452022-01-17  Martin Liska  <mliska@suse.cz>
13146
13147	* Makefile.in: Rename .c names to .cc.
13148	* alias.h: Likewise.
13149	* asan.cc: Likewise.
13150	* auto-profile.h: Likewise.
13151	* basic-block.h (struct basic_block_d): Likewise.
13152	* btfout.cc: Likewise.
13153	* builtins.cc (expand_builtin_longjmp): Likewise.
13154	(validate_arg): Likewise.
13155	(access_ref::offset_bounded): Likewise.
13156	* caller-save.cc (reg_restore_code): Likewise.
13157	(setup_save_areas): Likewise.
13158	* calls.cc (initialize_argument_information): Likewise.
13159	(expand_call): Likewise.
13160	(emit_library_call_value_1): Likewise.
13161	* cfg-flags.def (RTL): Likewise.
13162	(SIBCALL): Likewise.
13163	(CAN_FALLTHRU): Likewise.
13164	* cfganal.cc (post_order_compute): Likewise.
13165	* cfgcleanup.cc (try_simplify_condjump): Likewise.
13166	(merge_blocks_move_predecessor_nojumps): Likewise.
13167	(merge_blocks_move_successor_nojumps): Likewise.
13168	(merge_blocks_move): Likewise.
13169	(old_insns_match_p): Likewise.
13170	(try_crossjump_bb): Likewise.
13171	* cfgexpand.cc (expand_gimple_stmt): Likewise.
13172	* cfghooks.cc (split_block_before_cond_jump): Likewise.
13173	(profile_record_check_consistency): Likewise.
13174	* cfghooks.h: Likewise.
13175	* cfgrtl.cc (pass_free_cfg::execute): Likewise.
13176	(rtl_can_merge_blocks): Likewise.
13177	(try_redirect_by_replacing_jump): Likewise.
13178	(make_pass_outof_cfg_layout_mode): Likewise.
13179	(cfg_layout_can_merge_blocks_p): Likewise.
13180	* cgraph.cc (release_function_body): Likewise.
13181	(cgraph_node::get_fun): Likewise.
13182	* cgraph.h (struct cgraph_node): Likewise.
13183	(asmname_hasher::equal): Likewise.
13184	(cgraph_inline_failed_type): Likewise.
13185	(thunk_adjust): Likewise.
13186	(dump_callgraph_transformation): Likewise.
13187	(record_references_in_initializer): Likewise.
13188	(ipa_discover_variable_flags): Likewise.
13189	* cgraphclones.cc (GTY): Likewise.
13190	* cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
13191	* collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
13192	* collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
13193	* collect2.cc (maybe_run_lto_and_relink): Likewise.
13194	* combine-stack-adj.cc: Likewise.
13195	* combine.cc (setup_incoming_promotions): Likewise.
13196	(combine_simplify_rtx): Likewise.
13197	(count_rtxs): Likewise.
13198	* common.opt: Likewise.
13199	* common/config/aarch64/aarch64-common.cc: Likewise.
13200	* common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
13201	* common/config/avr/avr-common.cc: Likewise.
13202	* common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
13203	* conditions.h: Likewise.
13204	* config.gcc: Likewise.
13205	* config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
13206	* config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
13207	(aarch64_get_extension_string_for_isa_flags): Likewise.
13208	* config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
13209	* config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
13210	(aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
13211	(aarch64_option_valid_attribute_p): Likewise.
13212	(aarch64_short_vector_p): Likewise.
13213	(aarch64_float_const_representable_p): Likewise.
13214	* config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
13215	(ASM_OUTPUT_POOL_EPILOGUE): Likewise.
13216	(GTY): Likewise.
13217	* config/aarch64/cortex-a57-fma-steering.cc: Likewise.
13218	* config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
13219	* config/aarch64/t-aarch64: Likewise.
13220	* config/aarch64/x-aarch64: Likewise.
13221	* config/aarch64/x-darwin: Likewise.
13222	* config/alpha/alpha-protos.h: Likewise.
13223	* config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
13224	* config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
13225	(enum reg_class): Likewise.
13226	* config/alpha/alpha.md: Likewise.
13227	* config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
13228	* config/alpha/x-alpha: Likewise.
13229	* config/arc/arc-protos.h (arc_eh_uses): Likewise.
13230	* config/arc/arc.cc (ARC_OPT): Likewise.
13231	(arc_ccfsm_advance): Likewise.
13232	(arc_arg_partial_bytes): Likewise.
13233	(conditionalize_nonjump): Likewise.
13234	* config/arc/arc.md: Likewise.
13235	* config/arc/builtins.def: Likewise.
13236	* config/arc/t-arc: Likewise.
13237	* config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
13238	(arm_pragma_target_parse): Likewise.
13239	* config/arm/arm-protos.h (save_restore_target_globals): Likewise.
13240	(arm_cpu_cpp_builtins): Likewise.
13241	* config/arm/arm.cc (vfp3_const_double_index): Likewise.
13242	(shift_op): Likewise.
13243	(thumb2_final_prescan_insn): Likewise.
13244	(arm_final_prescan_insn): Likewise.
13245	(arm_asm_output_labelref): Likewise.
13246	(arm_small_register_classes_for_mode_p): Likewise.
13247	* config/arm/arm.h: Likewise.
13248	* config/arm/arm.md: Likewise.
13249	* config/arm/driver-arm.cc: Likewise.
13250	* config/arm/symbian.h: Likewise.
13251	* config/arm/t-arm: Likewise.
13252	* config/arm/thumb1.md: Likewise.
13253	* config/arm/x-arm: Likewise.
13254	* config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
13255	* config/avr/avr-fixed.md: Likewise.
13256	* config/avr/avr-log.cc (avr_log_vadump): Likewise.
13257	* config/avr/avr-mcus.def: Likewise.
13258	* config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
13259	* config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
13260	* config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
13261	* config/avr/avr.cc (avr_option_override): Likewise.
13262	(avr_build_builtin_va_list): Likewise.
13263	(avr_mode_dependent_address_p): Likewise.
13264	(avr_function_arg_advance): Likewise.
13265	(avr_asm_output_aligned_decl_common): Likewise.
13266	* config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
13267	(SUPPORTS_INIT_PRIORITY): Likewise.
13268	* config/avr/avr.md: Likewise.
13269	* config/avr/builtins.def: Likewise.
13270	* config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
13271	* config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
13272	(main): Likewise.
13273	* config/avr/t-avr: Likewise.
13274	* config/bfin/bfin.cc (frame_related_constant_load): Likewise.
13275	* config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
13276	* config/bpf/bpf.h (enum reg_class): Likewise.
13277	* config/bpf/t-bpf: Likewise.
13278	* config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
13279	* config/cr16/cr16-protos.h: Likewise.
13280	* config/cris/cris.cc (cris_address_cost): Likewise.
13281	(cris_side_effect_mode_ok): Likewise.
13282	(cris_init_machine_status): Likewise.
13283	(cris_emit_movem_store): Likewise.
13284	* config/cris/cris.h (INDEX_REG_CLASS): Likewise.
13285	(enum reg_class): Likewise.
13286	(struct cum_args): Likewise.
13287	* config/cris/cris.opt: Likewise.
13288	* config/cris/sync.md: Likewise.
13289	* config/csky/csky.cc (csky_expand_prologue): Likewise.
13290	* config/darwin-c.cc: Likewise.
13291	* config/darwin-f.cc: Likewise.
13292	* config/darwin-sections.def (zobj_const_section): Likewise.
13293	* config/darwin.cc (output_objc_section_asm_op): Likewise.
13294	(fprintf): Likewise.
13295	* config/darwin.h (GTY): Likewise.
13296	* config/elfos.h: Likewise.
13297	* config/epiphany/epiphany-sched.md: Likewise.
13298	* config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
13299	* config/epiphany/epiphany.h (GTY): Likewise.
13300	(NO_FUNCTION_CSE): Likewise.
13301	* config/epiphany/mode-switch-use.cc: Likewise.
13302	* config/epiphany/predicates.md: Likewise.
13303	* config/epiphany/t-epiphany: Likewise.
13304	* config/fr30/fr30-protos.h: Likewise.
13305	* config/frv/frv-protos.h: Likewise.
13306	* config/frv/frv.cc (TLS_BIAS): Likewise.
13307	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
13308	* config/ft32/ft32-protos.h: Likewise.
13309	* config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
13310	* config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
13311	* config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
13312	* config/gcn/t-gcn-hsa: Likewise.
13313	* config/gcn/t-omp-device: Likewise.
13314	* config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
13315	(same_cmp_following_p): Likewise.
13316	* config/h8300/h8300.cc (F): Likewise.
13317	* config/h8300/h8300.h (struct cum_arg): Likewise.
13318	(BRANCH_COST): Likewise.
13319	* config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
13320	* config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
13321	* config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
13322	* config/i386/driver-i386.cc (detect_caches_intel): Likewise.
13323	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
13324	* config/i386/i386-c.cc (ix86_target_macros): Likewise.
13325	* config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
13326	* config/i386/i386-options.cc (ix86_set_func_type): Likewise.
13327	* config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
13328	(ix86_register_pragmas): Likewise.
13329	(ix86_d_has_stdcall_convention): Likewise.
13330	(i386_pe_seh_init_sections): Likewise.
13331	* config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
13332	(ix86_function_value_regno_p): Likewise.
13333	(ix86_compute_frame_layout): Likewise.
13334	(legitimize_pe_coff_symbol): Likewise.
13335	(output_pic_addr_const): Likewise.
13336	* config/i386/i386.h (defined): Likewise.
13337	(host_detect_local_cpu): Likewise.
13338	(CONSTANT_ADDRESS_P): Likewise.
13339	(DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
13340	(struct machine_frame_state): Likewise.
13341	* config/i386/i386.md: Likewise.
13342	* config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
13343	* config/i386/mmx.md: Likewise.
13344	* config/i386/sse.md: Likewise.
13345	* config/i386/t-cygming: Likewise.
13346	* config/i386/t-djgpp: Likewise.
13347	* config/i386/t-gnu-property: Likewise.
13348	* config/i386/t-i386: Likewise.
13349	* config/i386/t-intelmic: Likewise.
13350	* config/i386/t-omp-device: Likewise.
13351	* config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
13352	(i386_pe_adjust_class_at_definition): Likewise.
13353	* config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
13354	(i386_pe_mangle_decl_assembler_name): Likewise.
13355	(i386_pe_encode_section_info): Likewise.
13356	* config/i386/x-cygwin: Likewise.
13357	* config/i386/x-darwin: Likewise.
13358	* config/i386/x-i386: Likewise.
13359	* config/i386/x-mingw32: Likewise.
13360	* config/i386/x86-tune-sched-core.cc: Likewise.
13361	* config/i386/x86-tune.def: Likewise.
13362	* config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
13363	* config/ia64/freebsd.h: Likewise.
13364	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
13365	* config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
13366	* config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
13367	(ia64_secondary_reload_class): Likewise.
13368	(bundling): Likewise.
13369	* config/ia64/ia64.h: Likewise.
13370	* config/ia64/ia64.md: Likewise.
13371	* config/ia64/predicates.md: Likewise.
13372	* config/ia64/sysv4.h: Likewise.
13373	* config/ia64/t-ia64: Likewise.
13374	* config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
13375	* config/iq2000/iq2000.md: Likewise.
13376	* config/linux.h (TARGET_HAS_BIONIC): Likewise.
13377	(if): Likewise.
13378	* config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
13379	* config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
13380	* config/m32c/t-m32c: Likewise.
13381	* config/m32r/m32r-protos.h: Likewise.
13382	* config/m32r/m32r.cc (m32r_print_operand): Likewise.
13383	* config/m32r/m32r.h: Likewise.
13384	* config/m32r/m32r.md: Likewise.
13385	* config/m68k/m68k-isas.def: Likewise.
13386	* config/m68k/m68k-microarchs.def: Likewise.
13387	* config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
13388	(m68k_epilogue_uses): Likewise.
13389	* config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
13390	(m68k_sched_adjust_cost): Likewise.
13391	(m68k_sched_md_init): Likewise.
13392	* config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
13393	(enum m68k_function_kind): Likewise.
13394	* config/m68k/m68k.md: Likewise.
13395	* config/m68k/m68kemb.h: Likewise.
13396	* config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
13397	* config/mcore/mcore-protos.h: Likewise.
13398	* config/mcore/mcore.cc (mcore_expand_insv): Likewise.
13399	(mcore_expand_prolog): Likewise.
13400	* config/mcore/mcore.h (TARGET_MCORE): Likewise.
13401	* config/mcore/mcore.md: Likewise.
13402	* config/microblaze/microblaze-protos.h: Likewise.
13403	* config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
13404	(microblaze_function_prologue): Likewise.
13405	(microblaze_function_epilogue): Likewise.
13406	(microblaze_select_section): Likewise.
13407	(microblaze_asm_output_mi_thunk): Likewise.
13408	(microblaze_eh_return): Likewise.
13409	* config/microblaze/microblaze.h: Likewise.
13410	* config/microblaze/microblaze.md: Likewise.
13411	* config/microblaze/t-microblaze: Likewise.
13412	* config/mips/driver-native.cc: Likewise.
13413	* config/mips/loongson2ef.md: Likewise.
13414	* config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
13415	* config/mips/mips.cc (mips_rtx_costs): Likewise.
13416	(mips_output_filename): Likewise.
13417	(mips_output_function_prologue): Likewise.
13418	(mips_output_function_epilogue): Likewise.
13419	(mips_output_mi_thunk): Likewise.
13420	* config/mips/mips.h: Likewise.
13421	* config/mips/mips.md: Likewise.
13422	* config/mips/t-mips: Likewise.
13423	* config/mips/x-native: Likewise.
13424	* config/mmix/mmix-protos.h: Likewise.
13425	* config/mmix/mmix.cc (mmix_option_override): Likewise.
13426	(mmix_dbx_register_number): Likewise.
13427	(mmix_expand_prologue): Likewise.
13428	* config/mmix/mmix.h: Likewise.
13429	* config/mmix/mmix.md: Likewise.
13430	* config/mmix/predicates.md: Likewise.
13431	* config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
13432	(mn10300_legitimate_pic_operand_p): Likewise.
13433	* config/mn10300/mn10300.h (enum reg_class): Likewise.
13434	(NO_FUNCTION_CSE): Likewise.
13435	* config/moxie/moxie-protos.h: Likewise.
13436	* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
13437	* config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
13438	* config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
13439	(msp430_incoming_return_addr_rtx): Likewise.
13440	* config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
13441	* config/msp430/t-msp430: Likewise.
13442	* config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
13443	(nds32_rtx_costs_size_prefer): Likewise.
13444	(nds32_init_rtx_costs): Likewise.
13445	* config/nds32/nds32-doubleword.md: Likewise.
13446	* config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
13447	(nds32_builtin_decl): Likewise.
13448	* config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
13449	(enum nds32_isr_nested_type): Likewise.
13450	(enum reg_class): Likewise.
13451	* config/nds32/predicates.md: Likewise.
13452	* config/nds32/t-nds32: Likewise.
13453	* config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
13454	* config/nvptx/nvptx-protos.h: Likewise.
13455	* config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
13456	* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13457	* config/nvptx/t-nvptx: Likewise.
13458	* config/nvptx/t-omp-device: Likewise.
13459	* config/pa/elf.h: Likewise.
13460	* config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
13461	* config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
13462	* config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
13463	* config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
13464	(pa_legitimize_reload_address): Likewise.
13465	(pa_can_use_return_insn): Likewise.
13466	* config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
13467	(som_output_text_section_asm_op): Likewise.
13468	* config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
13469	* config/pa/pa.md: Likewise.
13470	* config/pa/som.h: Likewise.
13471	* config/pa/t-pa: Likewise.
13472	* config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
13473	* config/pdp11/pdp11.h: Likewise.
13474	* config/pdp11/pdp11.md: Likewise.
13475	* config/pdp11/t-pdp11: Likewise.
13476	* config/pru/pru.md: Likewise.
13477	* config/pru/t-pru: Likewise.
13478	* config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
13479	(riscv_gpr_save_operation_p): Likewise.
13480	(riscv_d_register_target_info): Likewise.
13481	(riscv_init_builtins): Likewise.
13482	* config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
13483	* config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
13484	* config/riscv/t-riscv: Likewise.
13485	* config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
13486	* config/rl78/t-rl78: Likewise.
13487	* config/rs6000/aix.h: Likewise.
13488	* config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
13489	* config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
13490	* config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
13491	* config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
13492	* config/rs6000/driver-rs6000.cc: Likewise.
13493	* config/rs6000/freebsd.h: Likewise.
13494	* config/rs6000/freebsd64.h: Likewise.
13495	* config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
13496	* config/rs6000/rbtree.cc: Likewise.
13497	* config/rs6000/rbtree.h: Likewise.
13498	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
13499	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
13500	(rs6000_expand_builtin): Likewise.
13501	(rs6000_init_builtins): Likewise.
13502	* config/rs6000/rs6000-cpus.def: Likewise.
13503	* config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
13504	* config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
13505	(quad_address_offset_p): Likewise.
13506	* config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
13507	(rs6000_emit_epilogue): Likewise.
13508	* config/rs6000/rs6000-overload.def: Likewise.
13509	* config/rs6000/rs6000-p8swap.cc: Likewise.
13510	* config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
13511	(rs6000_const_f32_to_i32): Likewise.
13512	* config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
13513	(rs6000_debug_legitimize_address): Likewise.
13514	(rs6000_mode_dependent_address): Likewise.
13515	(rs6000_adjust_priority): Likewise.
13516	(rs6000_c_mode_for_suffix): Likewise.
13517	* config/rs6000/rs6000.h (defined): Likewise.
13518	(LONG_DOUBLE_TYPE_SIZE): Likewise.
13519	* config/rs6000/rs6000.md: Likewise.
13520	* config/rs6000/sysv4.h: Likewise.
13521	* config/rs6000/t-linux: Likewise.
13522	* config/rs6000/t-linux64: Likewise.
13523	* config/rs6000/t-rs6000: Likewise.
13524	* config/rs6000/x-darwin: Likewise.
13525	* config/rs6000/x-darwin64: Likewise.
13526	* config/rs6000/x-rs6000: Likewise.
13527	* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
13528	* config/rx/rx.cc (rx_expand_builtin): Likewise.
13529	* config/s390/constraints.md: Likewise.
13530	* config/s390/driver-native.cc: Likewise.
13531	* config/s390/htmxlintrin.h: Likewise.
13532	* config/s390/s390-builtins.def (B_DEF): Likewise.
13533	(OB_DEF_VAR): Likewise.
13534	* config/s390/s390-builtins.h: Likewise.
13535	* config/s390/s390-c.cc: Likewise.
13536	* config/s390/s390-opts.h: Likewise.
13537	* config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
13538	(s390_register_target_pragmas): Likewise.
13539	* config/s390/s390.cc (s390_init_builtins): Likewise.
13540	(s390_expand_plus_operand): Likewise.
13541	(s390_expand_atomic): Likewise.
13542	(s390_valid_target_attribute_inner_p): Likewise.
13543	* config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
13544	* config/s390/s390.md: Likewise.
13545	* config/s390/t-s390: Likewise.
13546	* config/s390/vx-builtins.md: Likewise.
13547	* config/s390/x-native: Likewise.
13548	* config/sh/divtab-sh4-300.cc (main): Likewise.
13549	* config/sh/divtab-sh4.cc (main): Likewise.
13550	* config/sh/divtab.cc (main): Likewise.
13551	* config/sh/elf.h: Likewise.
13552	* config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
13553	* config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
13554	(sh_struct_value_rtx): Likewise.
13555	(sh_remove_reg_dead_or_unused_notes): Likewise.
13556	* config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
13557	* config/sh/t-sh: Likewise.
13558	* config/sol2-protos.h (solaris_override_options): Likewise.
13559	* config/sol2.h: Likewise.
13560	* config/sparc/driver-sparc.cc: Likewise.
13561	* config/sparc/freebsd.h: Likewise.
13562	* config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
13563	* config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
13564	(sparc_asan_shadow_offset): Likewise.
13565	* config/sparc/sparc.h: Likewise.
13566	* config/sparc/sparc.md: Likewise.
13567	* config/sparc/t-sparc: Likewise.
13568	* config/sparc/x-sparc: Likewise.
13569	* config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
13570	* config/t-darwin: Likewise.
13571	* config/t-dragonfly: Likewise.
13572	* config/t-freebsd: Likewise.
13573	* config/t-glibc: Likewise.
13574	* config/t-linux: Likewise.
13575	* config/t-netbsd: Likewise.
13576	* config/t-openbsd: Likewise.
13577	* config/t-pnt16-warn: Likewise.
13578	* config/t-sol2: Likewise.
13579	* config/t-vxworks: Likewise.
13580	* config/t-winnt: Likewise.
13581	* config/tilegx/t-tilegx: Likewise.
13582	* config/tilegx/tilegx-c.cc: Likewise.
13583	* config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
13584	* config/tilegx/tilegx.md: Likewise.
13585	* config/tilepro/t-tilepro: Likewise.
13586	* config/tilepro/tilepro-c.cc: Likewise.
13587	* config/v850/t-v850: Likewise.
13588	* config/v850/v850-protos.h: Likewise.
13589	* config/v850/v850.cc (F): Likewise.
13590	* config/v850/v850.h (enum reg_class): Likewise.
13591	(SLOW_BYTE_ACCESS): Likewise.
13592	* config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
13593	* config/vax/vax.h (enum reg_class): Likewise.
13594	* config/vax/vax.md: Likewise.
13595	* config/visium/visium.cc (visium_legitimate_address_p): Likewise.
13596	* config/visium/visium.h: Likewise.
13597	* config/vms/t-vms: Likewise.
13598	* config/vms/vms-crtlmap.map: Likewise.
13599	* config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
13600	* config/vx-common.h: Likewise.
13601	* config/x-darwin: Likewise.
13602	* config/x-hpux: Likewise.
13603	* config/x-linux: Likewise.
13604	* config/x-netbsd: Likewise.
13605	* config/x-openbsd: Likewise.
13606	* config/x-solaris: Likewise.
13607	* config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
13608	* config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
13609	* config/xtensa/xtensa.h: Likewise.
13610	* configure.ac: Likewise.
13611	* context.cc: Likewise.
13612	* convert.h: Likewise.
13613	* coretypes.h: Likewise.
13614	* coverage.cc: Likewise.
13615	* coverage.h: Likewise.
13616	* cppdefault.h (struct default_include): Likewise.
13617	* cprop.cc (local_cprop_pass): Likewise.
13618	(one_cprop_pass): Likewise.
13619	* cse.cc (hash_rtx_cb): Likewise.
13620	(fold_rtx): Likewise.
13621	* ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
13622	* data-streamer.h (bp_unpack_var_len_int): Likewise.
13623	(streamer_write_widest_int): Likewise.
13624	* dbgcnt.def: Likewise.
13625	* dbxout.cc (dbxout_early_global_decl): Likewise.
13626	(dbxout_common_check): Likewise.
13627	* dbxout.h: Likewise.
13628	* debug.h (struct gcc_debug_hooks): Likewise.
13629	(dump_go_spec_init): Likewise.
13630	* df-core.cc: Likewise.
13631	* df-scan.cc (df_insn_info_delete): Likewise.
13632	(df_insn_delete): Likewise.
13633	* df.h (debug_df_chain): Likewise.
13634	(can_move_insns_across): Likewise.
13635	* dfp.cc (decimal_from_binary): Likewise.
13636	* diagnostic-color.cc: Likewise.
13637	* diagnostic-event-id.h: Likewise.
13638	* diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
13639	* diagnostic.cc (bt_callback): Likewise.
13640	(num_digits): Likewise.
13641	* doc/avr-mmcu.texi: Likewise.
13642	* doc/cfg.texi: Likewise.
13643	* doc/contrib.texi: Likewise.
13644	* doc/cppinternals.texi: Likewise.
13645	* doc/extend.texi: Likewise.
13646	* doc/generic.texi: Likewise.
13647	* doc/gimple.texi: Likewise.
13648	* doc/gty.texi: Likewise.
13649	* doc/invoke.texi: Likewise.
13650	* doc/loop.texi: Likewise.
13651	* doc/lto.texi: Likewise.
13652	* doc/match-and-simplify.texi: Likewise.
13653	* doc/md.texi: Likewise.
13654	* doc/optinfo.texi: Likewise.
13655	* doc/options.texi: Likewise.
13656	* doc/passes.texi: Likewise.
13657	* doc/plugins.texi: Likewise.
13658	* doc/rtl.texi: Likewise.
13659	* doc/sourcebuild.texi: Likewise.
13660	* doc/tm.texi: Likewise.
13661	* doc/tm.texi.in: Likewise.
13662	* doc/tree-ssa.texi: Likewise.
13663	* dojump.cc (do_jump): Likewise.
13664	* dojump.h: Likewise.
13665	* dumpfile.cc (test_impl_location): Likewise.
13666	(test_capture_of_dump_calls): Likewise.
13667	* dumpfile.h (enum dump_kind): Likewise.
13668	(class dump_location_t): Likewise.
13669	(dump_enabled_p): Likewise.
13670	(enable_rtl_dump_file): Likewise.
13671	(dump_combine_total_stats): Likewise.
13672	* dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
13673	* dwarf2ctf.h (ctf_debug_finish): Likewise.
13674	* dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
13675	(struct loc_descr_context): Likewise.
13676	(rtl_for_decl_location): Likewise.
13677	(gen_subprogram_die): Likewise.
13678	(gen_label_die): Likewise.
13679	(is_trivial_indirect_ref): Likewise.
13680	(dwarf2out_late_global_decl): Likewise.
13681	(dwarf_file_hasher::hash): Likewise.
13682	(dwarf2out_end_source_file): Likewise.
13683	(dwarf2out_define): Likewise.
13684	(dwarf2out_early_finish): Likewise.
13685	* dwarf2out.h (struct dw_fde_node): Likewise.
13686	(struct dw_discr_list_node): Likewise.
13687	(output_loc_sequence_raw): Likewise.
13688	* emit-rtl.cc (gen_raw_REG): Likewise.
13689	(maybe_set_max_label_num): Likewise.
13690	* emit-rtl.h (struct rtl_data): Likewise.
13691	* errors.cc (internal_error): Likewise.
13692	(trim_filename): Likewise.
13693	* et-forest.cc: Likewise.
13694	* except.cc (init_eh_for_function): Likewise.
13695	* explow.cc (promote_ssa_mode): Likewise.
13696	(get_dynamic_stack_size): Likewise.
13697	* explow.h: Likewise.
13698	* expmed.h: Likewise.
13699	* expr.cc (safe_from_p): Likewise.
13700	(expand_expr_real_2): Likewise.
13701	(expand_expr_real_1): Likewise.
13702	* file-prefix-map.cc (remap_filename): Likewise.
13703	* final.cc (app_enable): Likewise.
13704	(make_pass_compute_alignments): Likewise.
13705	(final_scan_insn_1): Likewise.
13706	(final_scan_insn): Likewise.
13707	* fixed-value.h (fixed_from_string): Likewise.
13708	* flag-types.h (NO_DEBUG): Likewise.
13709	(DWARF2_DEBUG): Likewise.
13710	(VMS_DEBUG): Likewise.
13711	(BTF_DEBUG): Likewise.
13712	(enum ctf_debug_info_levels): Likewise.
13713	* fold-const.cc (const_binop): Likewise.
13714	(fold_binary_loc): Likewise.
13715	(fold_checksum_tree): Likewise.
13716	* fp-test.cc: Likewise.
13717	* function.cc (expand_function_end): Likewise.
13718	* function.h (struct function): Likewise.
13719	* fwprop.cc (should_replace_address): Likewise.
13720	* gcc-main.cc: Likewise.
13721	* gcc-rich-location.h (class gcc_rich_location): Likewise.
13722	* gcc-symtab.h: Likewise.
13723	* gcc.cc (MIN_FATAL_STATUS): Likewise.
13724	(driver_handle_option): Likewise.
13725	(quote_spec_arg): Likewise.
13726	(driver::finalize): Likewise.
13727	* gcc.h (set_input): Likewise.
13728	* gcov-dump.cc: Likewise.
13729	* gcov.cc (solve_flow_graph): Likewise.
13730	* gcse-common.cc: Likewise.
13731	* gcse.cc (make_pass_rtl_hoist): Likewise.
13732	* genattr-common.cc: Likewise.
13733	* genattrtab.cc (min_fn): Likewise.
13734	(write_const_num_delay_slots): Likewise.
13735	* genautomata.cc: Likewise.
13736	* genconditions.cc (write_one_condition): Likewise.
13737	* genconstants.cc: Likewise.
13738	* genemit.cc (gen_exp): Likewise.
13739	* generic-match-head.cc: Likewise.
13740	* genextract.cc: Likewise.
13741	* gengenrtl.cc (always_void_p): Likewise.
13742	* gengtype-parse.cc (gtymarker_opt): Likewise.
13743	* gengtype-state.cc (state_writer::state_writer): Likewise.
13744	(write_state_trailer): Likewise.
13745	(equals_type_number): Likewise.
13746	(read_state): Likewise.
13747	* gengtype.cc (open_base_files): Likewise.
13748	(struct file_rule_st): Likewise.
13749	(header_dot_h_frul): Likewise.
13750	* gengtype.h: Likewise.
13751	* genmatch.cc (main): Likewise.
13752	* genmddeps.cc: Likewise.
13753	* genmodes.cc (emit_mode_inner): Likewise.
13754	(emit_mode_unit_size): Likewise.
13755	* genpeep.cc (gen_peephole): Likewise.
13756	* genpreds.cc (write_tm_preds_h): Likewise.
13757	* genrecog.cc (validate_pattern): Likewise.
13758	(write_header): Likewise.
13759	(main): Likewise.
13760	* gensupport.cc (change_subst_attribute): Likewise.
13761	(traverse_c_tests): Likewise.
13762	(add_predicate): Likewise.
13763	(init_predicate_table): Likewise.
13764	* gensupport.h (struct optab_pattern): Likewise.
13765	(get_num_insn_codes): Likewise.
13766	(maybe_eval_c_test): Likewise.
13767	(struct pred_data): Likewise.
13768	* ggc-internal.h: Likewise.
13769	* gimple-fold.cc (maybe_fold_reference): Likewise.
13770	(get_range_strlen_tree): Likewise.
13771	* gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
13772	* gimple-low.cc: Likewise.
13773	* gimple-match-head.cc (directly_supported_p): Likewise.
13774	* gimple-pretty-print.h: Likewise.
13775	* gimple-ssa-sprintf.cc (format_percent): Likewise.
13776	(adjust_range_for_overflow): Likewise.
13777	* gimple-streamer.h: Likewise.
13778	* gimple.h (struct GTY): Likewise.
13779	(is_gimple_resx): Likewise.
13780	* gimplify.cc (gimplify_expr): Likewise.
13781	(gimplify_init_constructor): Likewise.
13782	(omp_construct_selector_matches): Likewise.
13783	(gimplify_omp_target_update): Likewise.
13784	(gimplify_omp_ordered): Likewise.
13785	(gimplify_va_arg_expr): Likewise.
13786	* graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
13787	* haifa-sched.cc (increase_insn_priority): Likewise.
13788	(try_ready): Likewise.
13789	(sched_create_recovery_edges): Likewise.
13790	* ifcvt.cc (find_if_case_1): Likewise.
13791	(find_if_case_2): Likewise.
13792	* inchash.h: Likewise.
13793	* incpath.cc (add_env_var_paths): Likewise.
13794	* input.cc (dump_location_info): Likewise.
13795	(assert_loceq): Likewise.
13796	(test_lexer_string_locations_concatenation_1): Likewise.
13797	(test_lexer_string_locations_concatenation_2): Likewise.
13798	(test_lexer_string_locations_concatenation_3): Likewise.
13799	* input.h (BUILTINS_LOCATION): Likewise.
13800	(class string_concat_db): Likewise.
13801	* internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
13802	(expand_LOOP_VECTORIZED): Likewise.
13803	* ipa-cp.cc (make_pass_ipa_cp): Likewise.
13804	* ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
13805	(ipa_fn_summary_t::duplicate): Likewise.
13806	(make_pass_ipa_fn_summary): Likewise.
13807	* ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
13808	* ipa-free-lang-data.cc (fld_simplified_type): Likewise.
13809	(free_lang_data_in_decl): Likewise.
13810	* ipa-inline.cc (compute_inlined_call_time): Likewise.
13811	(inline_always_inline_functions): Likewise.
13812	* ipa-inline.h (free_growth_caches): Likewise.
13813	(inline_account_function_p): Likewise.
13814	* ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
13815	(modref_eaf_analysis::analyze_ssa_name): Likewise.
13816	* ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
13817	(ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
13818	* ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
13819	* ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
13820	(unadjusted_ptr_and_unit_offset): Likewise.
13821	* ipa-reference.cc (make_pass_ipa_reference): Likewise.
13822	* ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
13823	* ipa-split.cc (consider_split): Likewise.
13824	* ipa-sra.cc (isra_read_node_info): Likewise.
13825	* ipa-utils.h (struct ipa_dfs_info): Likewise.
13826	(recursive_call_p): Likewise.
13827	(ipa_make_function_pure): Likewise.
13828	* ira-build.cc (ira_create_allocno): Likewise.
13829	(ira_flattening): Likewise.
13830	* ira-color.cc (do_coloring): Likewise.
13831	(update_curr_costs): Likewise.
13832	* ira-conflicts.cc (process_regs_for_copy): Likewise.
13833	* ira-int.h (struct ira_emit_data): Likewise.
13834	(ira_prohibited_mode_move_regs): Likewise.
13835	(ira_get_dup_out_num): Likewise.
13836	(ira_destroy): Likewise.
13837	(ira_tune_allocno_costs): Likewise.
13838	(ira_implicitly_set_insn_hard_regs): Likewise.
13839	(ira_build_conflicts): Likewise.
13840	(ira_color): Likewise.
13841	* ira-lives.cc (process_bb_node_lives): Likewise.
13842	* ira.cc (class ira_spilled_reg_stack_slot): Likewise.
13843	(setup_uniform_class_p): Likewise.
13844	(def_dominates_uses): Likewise.
13845	* ira.h (ira_nullify_asm_goto): Likewise.
13846	* langhooks.cc (lhd_post_options): Likewise.
13847	* langhooks.h (class substring_loc): Likewise.
13848	(struct lang_hooks_for_tree_inlining): Likewise.
13849	(struct lang_hooks_for_types): Likewise.
13850	(struct lang_hooks): Likewise.
13851	* libfuncs.h (synchronize_libfunc): Likewise.
13852	* loop-doloop.cc (doloop_condition_get): Likewise.
13853	* loop-init.cc (fix_loop_structure): Likewise.
13854	* loop-invariant.cc: Likewise.
13855	* lower-subreg.h: Likewise.
13856	* lra-constraints.cc (curr_insn_transform): Likewise.
13857	* lra-int.h (struct lra_insn_reg): Likewise.
13858	(lra_undo_inheritance): Likewise.
13859	(lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
13860	(lra_split_hard_reg_for): Likewise.
13861	(lra_coalesce): Likewise.
13862	(lra_final_code_change): Likewise.
13863	* lra-spills.cc (lra_final_code_change): Likewise.
13864	* lra.cc (lra_process_new_insns): Likewise.
13865	* lto-compress.h (struct lto_compression_stream): Likewise.
13866	* lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
13867	(write_symbol): Likewise.
13868	* lto-streamer.h (enum LTO_tags): Likewise.
13869	(lto_value_range_error): Likewise.
13870	(lto_append_block): Likewise.
13871	(lto_streamer_hooks_init): Likewise.
13872	(stream_read_tree_ref): Likewise.
13873	(lto_prepare_function_for_streaming): Likewise.
13874	(select_what_to_stream): Likewise.
13875	(omp_lto_input_declare_variant_alt): Likewise.
13876	(cl_optimization_stream_in): Likewise.
13877	* lto-wrapper.cc (append_compiler_options): Likewise.
13878	* machmode.def: Likewise.
13879	* machmode.h (struct int_n_data_t): Likewise.
13880	* main.cc (main): Likewise.
13881	* match.pd: Likewise.
13882	* omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
13883	(BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
13884	* omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
13885	(make_pass_expand_omp_ssa): Likewise.
13886	* omp-low.cc (struct omp_context): Likewise.
13887	(struct omp_taskcopy_context): Likewise.
13888	(lower_omp): Likewise.
13889	* omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
13890	(mask_name): Likewise.
13891	(omp_sese_dump_pars): Likewise.
13892	(worker_single_simple): Likewise.
13893	* omp-offload.cc (omp_finish_file): Likewise.
13894	(execute_oacc_loop_designation): Likewise.
13895	* optabs-query.cc (lshift_cheap_p): Likewise.
13896	* optc-gen.awk: Likewise.
13897	* optc-save-gen.awk: Likewise.
13898	* optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
13899	* opts-common.cc: Likewise.
13900	* output.h (app_enable): Likewise.
13901	(output_operand_lossage): Likewise.
13902	(insn_current_reference_address): Likewise.
13903	(get_insn_template): Likewise.
13904	(output_quoted_string): Likewise.
13905	* pass_manager.h (struct register_pass_info): Likewise.
13906	* plugin.cc: Likewise.
13907	* plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
13908	* plugin.h (invoke_plugin_callbacks): Likewise.
13909	* pointer-query.cc (handle_mem_ref): Likewise.
13910	* postreload-gcse.cc (alloc_mem): Likewise.
13911	* predict.h (enum prediction): Likewise.
13912	(add_reg_br_prob_note): Likewise.
13913	* prefix.h: Likewise.
13914	* profile.h (get_working_sets): Likewise.
13915	* read-md.cc: Likewise.
13916	* read-md.h (struct mapping): Likewise.
13917	(class md_reader): Likewise.
13918	(class noop_reader): Likewise.
13919	* read-rtl-function.cc (function_reader::create_function): Likewise.
13920	(function_reader::extra_parsing_for_operand_code_0): Likewise.
13921	* read-rtl.cc (initialize_iterators): Likewise.
13922	* real.cc: Likewise.
13923	* real.h (struct real_value): Likewise.
13924	(format_helper::format_helper): Likewise.
13925	(real_hash): Likewise.
13926	(real_can_shorten_arithmetic): Likewise.
13927	* recog.cc (struct target_recog): Likewise.
13928	(offsettable_nonstrict_memref_p): Likewise.
13929	(constrain_operands): Likewise.
13930	* recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
13931	(which_op_alt): Likewise.
13932	(struct insn_gen_fn): Likewise.
13933	* reg-notes.def (REG_NOTE): Likewise.
13934	* reg-stack.cc: Likewise.
13935	* regs.h (reg_is_parm_p): Likewise.
13936	* regset.h: Likewise.
13937	* reload.cc (push_reload): Likewise.
13938	(find_reloads): Likewise.
13939	(find_reloads_address_1): Likewise.
13940	(find_replacement): Likewise.
13941	(refers_to_regno_for_reload_p): Likewise.
13942	(refers_to_mem_for_reload_p): Likewise.
13943	* reload.h (push_reload): Likewise.
13944	(deallocate_reload_reg): Likewise.
13945	* reload1.cc (emit_input_reload_insns): Likewise.
13946	* reorg.cc (relax_delay_slots): Likewise.
13947	* rtl.def (UNKNOWN): Likewise.
13948	(SEQUENCE): Likewise.
13949	(BARRIER): Likewise.
13950	(ASM_OPERANDS): Likewise.
13951	(EQ_ATTR_ALT): Likewise.
13952	* rtl.h (struct GTY): Likewise.
13953	(LABEL_NAME): Likewise.
13954	(LABEL_ALT_ENTRY_P): Likewise.
13955	(SUBREG_BYTE): Likewise.
13956	(get_stack_check_protect): Likewise.
13957	(dump_rtx_statistics): Likewise.
13958	(unwrap_const_vec_duplicate): Likewise.
13959	(subreg_promoted_mode): Likewise.
13960	(gen_lowpart_common): Likewise.
13961	(operand_subword): Likewise.
13962	(immed_wide_int_const): Likewise.
13963	(decide_function_section): Likewise.
13964	(active_insn_p): Likewise.
13965	(delete_related_insns): Likewise.
13966	(try_split): Likewise.
13967	(val_signbit_known_clear_p): Likewise.
13968	(simplifiable_subregs): Likewise.
13969	(set_insn_deleted): Likewise.
13970	(subreg_get_info): Likewise.
13971	(remove_free_EXPR_LIST_node): Likewise.
13972	(finish_subregs_of_mode): Likewise.
13973	(get_mem_attrs): Likewise.
13974	(lookup_constant_def): Likewise.
13975	(rtx_to_tree_code): Likewise.
13976	(hash_rtx): Likewise.
13977	(condjump_in_parallel_p): Likewise.
13978	(validate_subreg): Likewise.
13979	(make_compound_operation): Likewise.
13980	(schedule_ebbs): Likewise.
13981	(print_inline_rtx): Likewise.
13982	(fixup_args_size_notes): Likewise.
13983	(expand_dec): Likewise.
13984	(prepare_copy_insn): Likewise.
13985	(mark_elimination): Likewise.
13986	(valid_mode_changes_for_regno): Likewise.
13987	(make_debug_expr_from_rtl): Likewise.
13988	(delete_vta_debug_insns): Likewise.
13989	(simplify_using_condition): Likewise.
13990	(set_insn_locations): Likewise.
13991	(fatal_insn_not_found): Likewise.
13992	(word_register_operation_p): Likewise.
13993	* rtlanal.cc (get_call_fndecl): Likewise.
13994	(side_effects_p): Likewise.
13995	(subreg_nregs): Likewise.
13996	(rtx_cost): Likewise.
13997	(canonicalize_condition): Likewise.
13998	* rtlanal.h (rtx_properties::try_to_add_note): Likewise.
13999	* run-rtl-passes.cc (run_rtl_passes): Likewise.
14000	* sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
14001	* sched-deps.cc (add_dependence_1): Likewise.
14002	* sched-ebb.cc (begin_move_insn): Likewise.
14003	(add_deps_for_risky_insns): Likewise.
14004	(advance_target_bb): Likewise.
14005	* sched-int.h (reemit_notes): Likewise.
14006	(struct _haifa_insn_data): Likewise.
14007	(HID): Likewise.
14008	(DEP_CANCELLED): Likewise.
14009	(debug_ds): Likewise.
14010	(number_in_ready): Likewise.
14011	(schedule_ebbs_finish): Likewise.
14012	(find_modifiable_mems): Likewise.
14013	* sched-rgn.cc (debug_rgn_dependencies): Likewise.
14014	* sel-sched-dump.cc (dump_lv_set): Likewise.
14015	* sel-sched-dump.h: Likewise.
14016	* sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
14017	(setup_id_reg_sets): Likewise.
14018	(has_dependence_p): Likewise.
14019	(sel_num_cfg_preds_gt_1): Likewise.
14020	(bb_ends_ebb_p): Likewise.
14021	* sel-sched-ir.h (struct _list_node): Likewise.
14022	(struct idata_def): Likewise.
14023	(bb_next_bb): Likewise.
14024	* sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
14025	(choose_best_pseudo_reg): Likewise.
14026	(verify_target_availability): Likewise.
14027	(can_speculate_dep_p): Likewise.
14028	(sel_rank_for_schedule): Likewise.
14029	* selftest-run-tests.cc (selftest::run_tests): Likewise.
14030	* selftest.h (class auto_fix_quotes): Likewise.
14031	* shrink-wrap.cc (handle_simple_exit): Likewise.
14032	* shrink-wrap.h: Likewise.
14033	* simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
14034	(simplify_context::simplify_gen_vec_select): Likewise.
14035	* spellcheck-tree.h: Likewise.
14036	* spellcheck.h: Likewise.
14037	* statistics.h (struct function): Likewise.
14038	* stmt.cc (conditional_probability): Likewise.
14039	* stmt.h: Likewise.
14040	* stor-layout.h: Likewise.
14041	* streamer-hooks.h: Likewise.
14042	* stringpool.h: Likewise.
14043	* symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
14044	* target.def (HOOK_VECTOR_END): Likewise.
14045	(type.): Likewise.
14046	* target.h (union cumulative_args_t): Likewise.
14047	(by_pieces_ninsns): Likewise.
14048	(class predefined_function_abi): Likewise.
14049	* targhooks.cc (default_translate_mode_attribute): Likewise.
14050	* timevar.def: Likewise.
14051	* timevar.h (class timer): Likewise.
14052	* toplev.h (enable_rtl_dump_file): Likewise.
14053	* trans-mem.cc (collect_bb2reg): Likewise.
14054	* tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
14055	* tree-cfg.cc (remove_bb): Likewise.
14056	(verify_gimple_debug): Likewise.
14057	(remove_edge_and_dominated_blocks): Likewise.
14058	(push_fndecl): Likewise.
14059	* tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
14060	* tree-complex.cc (expand_complex_multiplication): Likewise.
14061	(expand_complex_div_straight): Likewise.
14062	* tree-core.h (enum tree_index): Likewise.
14063	(enum operand_equal_flag): Likewise.
14064	* tree-eh.cc (honor_protect_cleanup_actions): Likewise.
14065	* tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
14066	* tree-inline.cc (initialize_inlined_parameters): Likewise.
14067	* tree-inline.h (force_value_to_type): Likewise.
14068	* tree-nested.cc (get_chain_decl): Likewise.
14069	(walk_all_functions): Likewise.
14070	* tree-object-size.h: Likewise.
14071	* tree-outof-ssa.cc: Likewise.
14072	* tree-parloops.cc (create_parallel_loop): Likewise.
14073	* tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
14074	(dump_generic_node): Likewise.
14075	* tree-profile.cc (tree_profiling): Likewise.
14076	* tree-sra.cc (maybe_add_sra_candidate): Likewise.
14077	* tree-ssa-address.cc: Likewise.
14078	* tree-ssa-alias.cc: Likewise.
14079	* tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
14080	(dump_alias_stats): Likewise.
14081	* tree-ssa-ccp.cc: Likewise.
14082	* tree-ssa-coalesce.h: Likewise.
14083	* tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
14084	* tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
14085	* tree-ssa-loop-unswitch.cc: Likewise.
14086	* tree-ssa-math-opts.cc: Likewise.
14087	* tree-ssa-operands.cc (class operands_scanner): Likewise.
14088	* tree-ssa-pre.cc: Likewise.
14089	* tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
14090	(debug_range_entry): Likewise.
14091	* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
14092	* tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
14093	* tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
14094	(equal_mem_array_ref_p): Likewise.
14095	* tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
14096	* tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
14097	* tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
14098	* tree-ssa-ter.h: Likewise.
14099	* tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
14100	* tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
14101	* tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
14102	(write_ts_block_tree_pointers): Likewise.
14103	* tree-streamer.h (struct streamer_tree_cache_d): Likewise.
14104	(streamer_read_tree_bitfields): Likewise.
14105	(streamer_write_integer_cst): Likewise.
14106	* tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
14107	(vect_synth_mult_by_constant): Likewise.
14108	* tree-vect-stmts.cc (vectorizable_operation): Likewise.
14109	* tree-vectorizer.cc: Likewise.
14110	* tree-vectorizer.h (class auto_purge_vect_location): Likewise.
14111	(vect_update_inits_of_drs): Likewise.
14112	(vect_get_mask_type_for_stmt): Likewise.
14113	(vect_rgroup_iv_might_wrap_p): Likewise.
14114	(cse_and_gimplify_to_preheader): Likewise.
14115	(vect_free_slp_tree): Likewise.
14116	(vect_pattern_recog): Likewise.
14117	(vect_stmt_dominates_stmt_p): Likewise.
14118	* tree.cc (initialize_tree_contains_struct): Likewise.
14119	(need_assembler_name_p): Likewise.
14120	(type_with_interoperable_signedness): Likewise.
14121	* tree.def (SWITCH_EXPR): Likewise.
14122	* tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
14123	(poly_int_tree_p): Likewise.
14124	(inlined_function_outer_scope_p): Likewise.
14125	(tree_code_for_canonical_type_merging): Likewise.
14126	* value-prof.cc: Likewise.
14127	* value-prof.h (get_nth_most_common_value): Likewise.
14128	(find_func_by_profile_id): Likewise.
14129	* value-range.cc (vrp_operand_equal_p): Likewise.
14130	* value-range.h: Likewise.
14131	* var-tracking.cc: Likewise.
14132	* varasm.cc (default_function_section): Likewise.
14133	(function_section_1): Likewise.
14134	(assemble_variable): Likewise.
14135	(handle_vtv_comdat_section): Likewise.
14136	* vec.h (struct vec_prefix): Likewise.
14137	* vmsdbgout.cc (full_name): Likewise.
14138	* vtable-verify.cc: Likewise.
14139	* vtable-verify.h (struct vtv_graph_node): Likewise.
14140	* xcoffout.cc: Likewise.
14141	* xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
14142
141432022-01-17  Martin Liska  <mliska@suse.cz>
14144
14145	* adjust-alignment.c: Moved to...
14146	* adjust-alignment.cc: ...here.
14147	* alias.c: Moved to...
14148	* alias.cc: ...here.
14149	* alloc-pool.c: Moved to...
14150	* alloc-pool.cc: ...here.
14151	* asan.c: Moved to...
14152	* asan.cc: ...here.
14153	* attribs.c: Moved to...
14154	* attribs.cc: ...here.
14155	* auto-inc-dec.c: Moved to...
14156	* auto-inc-dec.cc: ...here.
14157	* auto-profile.c: Moved to...
14158	* auto-profile.cc: ...here.
14159	* bb-reorder.c: Moved to...
14160	* bb-reorder.cc: ...here.
14161	* bitmap.c: Moved to...
14162	* bitmap.cc: ...here.
14163	* btfout.c: Moved to...
14164	* btfout.cc: ...here.
14165	* builtins.c: Moved to...
14166	* builtins.cc: ...here.
14167	* caller-save.c: Moved to...
14168	* caller-save.cc: ...here.
14169	* calls.c: Moved to...
14170	* calls.cc: ...here.
14171	* ccmp.c: Moved to...
14172	* ccmp.cc: ...here.
14173	* cfg.c: Moved to...
14174	* cfg.cc: ...here.
14175	* cfganal.c: Moved to...
14176	* cfganal.cc: ...here.
14177	* cfgbuild.c: Moved to...
14178	* cfgbuild.cc: ...here.
14179	* cfgcleanup.c: Moved to...
14180	* cfgcleanup.cc: ...here.
14181	* cfgexpand.c: Moved to...
14182	* cfgexpand.cc: ...here.
14183	* cfghooks.c: Moved to...
14184	* cfghooks.cc: ...here.
14185	* cfgloop.c: Moved to...
14186	* cfgloop.cc: ...here.
14187	* cfgloopanal.c: Moved to...
14188	* cfgloopanal.cc: ...here.
14189	* cfgloopmanip.c: Moved to...
14190	* cfgloopmanip.cc: ...here.
14191	* cfgrtl.c: Moved to...
14192	* cfgrtl.cc: ...here.
14193	* cgraph.c: Moved to...
14194	* cgraph.cc: ...here.
14195	* cgraphbuild.c: Moved to...
14196	* cgraphbuild.cc: ...here.
14197	* cgraphclones.c: Moved to...
14198	* cgraphclones.cc: ...here.
14199	* cgraphunit.c: Moved to...
14200	* cgraphunit.cc: ...here.
14201	* collect-utils.c: Moved to...
14202	* collect-utils.cc: ...here.
14203	* collect2-aix.c: Moved to...
14204	* collect2-aix.cc: ...here.
14205	* collect2.c: Moved to...
14206	* collect2.cc: ...here.
14207	* combine-stack-adj.c: Moved to...
14208	* combine-stack-adj.cc: ...here.
14209	* combine.c: Moved to...
14210	* combine.cc: ...here.
14211	* common/common-targhooks.c: Moved to...
14212	* common/common-targhooks.cc: ...here.
14213	* common/config/aarch64/aarch64-common.c: Moved to...
14214	* common/config/aarch64/aarch64-common.cc: ...here.
14215	* common/config/alpha/alpha-common.c: Moved to...
14216	* common/config/alpha/alpha-common.cc: ...here.
14217	* common/config/arc/arc-common.c: Moved to...
14218	* common/config/arc/arc-common.cc: ...here.
14219	* common/config/arm/arm-common.c: Moved to...
14220	* common/config/arm/arm-common.cc: ...here.
14221	* common/config/avr/avr-common.c: Moved to...
14222	* common/config/avr/avr-common.cc: ...here.
14223	* common/config/bfin/bfin-common.c: Moved to...
14224	* common/config/bfin/bfin-common.cc: ...here.
14225	* common/config/bpf/bpf-common.c: Moved to...
14226	* common/config/bpf/bpf-common.cc: ...here.
14227	* common/config/c6x/c6x-common.c: Moved to...
14228	* common/config/c6x/c6x-common.cc: ...here.
14229	* common/config/cr16/cr16-common.c: Moved to...
14230	* common/config/cr16/cr16-common.cc: ...here.
14231	* common/config/cris/cris-common.c: Moved to...
14232	* common/config/cris/cris-common.cc: ...here.
14233	* common/config/csky/csky-common.c: Moved to...
14234	* common/config/csky/csky-common.cc: ...here.
14235	* common/config/default-common.c: Moved to...
14236	* common/config/default-common.cc: ...here.
14237	* common/config/epiphany/epiphany-common.c: Moved to...
14238	* common/config/epiphany/epiphany-common.cc: ...here.
14239	* common/config/fr30/fr30-common.c: Moved to...
14240	* common/config/fr30/fr30-common.cc: ...here.
14241	* common/config/frv/frv-common.c: Moved to...
14242	* common/config/frv/frv-common.cc: ...here.
14243	* common/config/gcn/gcn-common.c: Moved to...
14244	* common/config/gcn/gcn-common.cc: ...here.
14245	* common/config/h8300/h8300-common.c: Moved to...
14246	* common/config/h8300/h8300-common.cc: ...here.
14247	* common/config/i386/i386-common.c: Moved to...
14248	* common/config/i386/i386-common.cc: ...here.
14249	* common/config/ia64/ia64-common.c: Moved to...
14250	* common/config/ia64/ia64-common.cc: ...here.
14251	* common/config/iq2000/iq2000-common.c: Moved to...
14252	* common/config/iq2000/iq2000-common.cc: ...here.
14253	* common/config/lm32/lm32-common.c: Moved to...
14254	* common/config/lm32/lm32-common.cc: ...here.
14255	* common/config/m32r/m32r-common.c: Moved to...
14256	* common/config/m32r/m32r-common.cc: ...here.
14257	* common/config/m68k/m68k-common.c: Moved to...
14258	* common/config/m68k/m68k-common.cc: ...here.
14259	* common/config/mcore/mcore-common.c: Moved to...
14260	* common/config/mcore/mcore-common.cc: ...here.
14261	* common/config/microblaze/microblaze-common.c: Moved to...
14262	* common/config/microblaze/microblaze-common.cc: ...here.
14263	* common/config/mips/mips-common.c: Moved to...
14264	* common/config/mips/mips-common.cc: ...here.
14265	* common/config/mmix/mmix-common.c: Moved to...
14266	* common/config/mmix/mmix-common.cc: ...here.
14267	* common/config/mn10300/mn10300-common.c: Moved to...
14268	* common/config/mn10300/mn10300-common.cc: ...here.
14269	* common/config/msp430/msp430-common.c: Moved to...
14270	* common/config/msp430/msp430-common.cc: ...here.
14271	* common/config/nds32/nds32-common.c: Moved to...
14272	* common/config/nds32/nds32-common.cc: ...here.
14273	* common/config/nios2/nios2-common.c: Moved to...
14274	* common/config/nios2/nios2-common.cc: ...here.
14275	* common/config/nvptx/nvptx-common.c: Moved to...
14276	* common/config/nvptx/nvptx-common.cc: ...here.
14277	* common/config/or1k/or1k-common.c: Moved to...
14278	* common/config/or1k/or1k-common.cc: ...here.
14279	* common/config/pa/pa-common.c: Moved to...
14280	* common/config/pa/pa-common.cc: ...here.
14281	* common/config/pdp11/pdp11-common.c: Moved to...
14282	* common/config/pdp11/pdp11-common.cc: ...here.
14283	* common/config/pru/pru-common.c: Moved to...
14284	* common/config/pru/pru-common.cc: ...here.
14285	* common/config/riscv/riscv-common.c: Moved to...
14286	* common/config/riscv/riscv-common.cc: ...here.
14287	* common/config/rs6000/rs6000-common.c: Moved to...
14288	* common/config/rs6000/rs6000-common.cc: ...here.
14289	* common/config/rx/rx-common.c: Moved to...
14290	* common/config/rx/rx-common.cc: ...here.
14291	* common/config/s390/s390-common.c: Moved to...
14292	* common/config/s390/s390-common.cc: ...here.
14293	* common/config/sh/sh-common.c: Moved to...
14294	* common/config/sh/sh-common.cc: ...here.
14295	* common/config/sparc/sparc-common.c: Moved to...
14296	* common/config/sparc/sparc-common.cc: ...here.
14297	* common/config/tilegx/tilegx-common.c: Moved to...
14298	* common/config/tilegx/tilegx-common.cc: ...here.
14299	* common/config/tilepro/tilepro-common.c: Moved to...
14300	* common/config/tilepro/tilepro-common.cc: ...here.
14301	* common/config/v850/v850-common.c: Moved to...
14302	* common/config/v850/v850-common.cc: ...here.
14303	* common/config/vax/vax-common.c: Moved to...
14304	* common/config/vax/vax-common.cc: ...here.
14305	* common/config/visium/visium-common.c: Moved to...
14306	* common/config/visium/visium-common.cc: ...here.
14307	* common/config/xstormy16/xstormy16-common.c: Moved to...
14308	* common/config/xstormy16/xstormy16-common.cc: ...here.
14309	* common/config/xtensa/xtensa-common.c: Moved to...
14310	* common/config/xtensa/xtensa-common.cc: ...here.
14311	* compare-elim.c: Moved to...
14312	* compare-elim.cc: ...here.
14313	* config/aarch64/aarch64-bti-insert.c: Moved to...
14314	* config/aarch64/aarch64-bti-insert.cc: ...here.
14315	* config/aarch64/aarch64-builtins.c: Moved to...
14316	* config/aarch64/aarch64-builtins.cc: ...here.
14317	* config/aarch64/aarch64-c.c: Moved to...
14318	* config/aarch64/aarch64-c.cc: ...here.
14319	* config/aarch64/aarch64-d.c: Moved to...
14320	* config/aarch64/aarch64-d.cc: ...here.
14321	* config/aarch64/aarch64.c: Moved to...
14322	* config/aarch64/aarch64.cc: ...here.
14323	* config/aarch64/cortex-a57-fma-steering.c: Moved to...
14324	* config/aarch64/cortex-a57-fma-steering.cc: ...here.
14325	* config/aarch64/driver-aarch64.c: Moved to...
14326	* config/aarch64/driver-aarch64.cc: ...here.
14327	* config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
14328	* config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
14329	* config/aarch64/host-aarch64-darwin.c: Moved to...
14330	* config/aarch64/host-aarch64-darwin.cc: ...here.
14331	* config/alpha/alpha.c: Moved to...
14332	* config/alpha/alpha.cc: ...here.
14333	* config/alpha/driver-alpha.c: Moved to...
14334	* config/alpha/driver-alpha.cc: ...here.
14335	* config/arc/arc-c.c: Moved to...
14336	* config/arc/arc-c.cc: ...here.
14337	* config/arc/arc.c: Moved to...
14338	* config/arc/arc.cc: ...here.
14339	* config/arc/driver-arc.c: Moved to...
14340	* config/arc/driver-arc.cc: ...here.
14341	* config/arm/aarch-common.c: Moved to...
14342	* config/arm/aarch-common.cc: ...here.
14343	* config/arm/arm-builtins.c: Moved to...
14344	* config/arm/arm-builtins.cc: ...here.
14345	* config/arm/arm-c.c: Moved to...
14346	* config/arm/arm-c.cc: ...here.
14347	* config/arm/arm-d.c: Moved to...
14348	* config/arm/arm-d.cc: ...here.
14349	* config/arm/arm.c: Moved to...
14350	* config/arm/arm.cc: ...here.
14351	* config/arm/driver-arm.c: Moved to...
14352	* config/arm/driver-arm.cc: ...here.
14353	* config/avr/avr-c.c: Moved to...
14354	* config/avr/avr-c.cc: ...here.
14355	* config/avr/avr-devices.c: Moved to...
14356	* config/avr/avr-devices.cc: ...here.
14357	* config/avr/avr-log.c: Moved to...
14358	* config/avr/avr-log.cc: ...here.
14359	* config/avr/avr.c: Moved to...
14360	* config/avr/avr.cc: ...here.
14361	* config/avr/driver-avr.c: Moved to...
14362	* config/avr/driver-avr.cc: ...here.
14363	* config/avr/gen-avr-mmcu-specs.c: Moved to...
14364	* config/avr/gen-avr-mmcu-specs.cc: ...here.
14365	* config/avr/gen-avr-mmcu-texi.c: Moved to...
14366	* config/avr/gen-avr-mmcu-texi.cc: ...here.
14367	* config/bfin/bfin.c: Moved to...
14368	* config/bfin/bfin.cc: ...here.
14369	* config/bpf/bpf.c: Moved to...
14370	* config/bpf/bpf.cc: ...here.
14371	* config/bpf/coreout.c: Moved to...
14372	* config/bpf/coreout.cc: ...here.
14373	* config/c6x/c6x.c: Moved to...
14374	* config/c6x/c6x.cc: ...here.
14375	* config/cr16/cr16.c: Moved to...
14376	* config/cr16/cr16.cc: ...here.
14377	* config/cris/cris.c: Moved to...
14378	* config/cris/cris.cc: ...here.
14379	* config/csky/csky.c: Moved to...
14380	* config/csky/csky.cc: ...here.
14381	* config/darwin-c.c: Moved to...
14382	* config/darwin-c.cc: ...here.
14383	* config/darwin-d.c: Moved to...
14384	* config/darwin-d.cc: ...here.
14385	* config/darwin-driver.c: Moved to...
14386	* config/darwin-driver.cc: ...here.
14387	* config/darwin-f.c: Moved to...
14388	* config/darwin-f.cc: ...here.
14389	* config/darwin.c: Moved to...
14390	* config/darwin.cc: ...here.
14391	* config/default-c.c: Moved to...
14392	* config/default-c.cc: ...here.
14393	* config/default-d.c: Moved to...
14394	* config/default-d.cc: ...here.
14395	* config/dragonfly-d.c: Moved to...
14396	* config/dragonfly-d.cc: ...here.
14397	* config/epiphany/epiphany.c: Moved to...
14398	* config/epiphany/epiphany.cc: ...here.
14399	* config/epiphany/mode-switch-use.c: Moved to...
14400	* config/epiphany/mode-switch-use.cc: ...here.
14401	* config/epiphany/resolve-sw-modes.c: Moved to...
14402	* config/epiphany/resolve-sw-modes.cc: ...here.
14403	* config/fr30/fr30.c: Moved to...
14404	* config/fr30/fr30.cc: ...here.
14405	* config/freebsd-d.c: Moved to...
14406	* config/freebsd-d.cc: ...here.
14407	* config/frv/frv.c: Moved to...
14408	* config/frv/frv.cc: ...here.
14409	* config/ft32/ft32.c: Moved to...
14410	* config/ft32/ft32.cc: ...here.
14411	* config/gcn/driver-gcn.c: Moved to...
14412	* config/gcn/driver-gcn.cc: ...here.
14413	* config/gcn/gcn-run.c: Moved to...
14414	* config/gcn/gcn-run.cc: ...here.
14415	* config/gcn/gcn-tree.c: Moved to...
14416	* config/gcn/gcn-tree.cc: ...here.
14417	* config/gcn/gcn.c: Moved to...
14418	* config/gcn/gcn.cc: ...here.
14419	* config/gcn/mkoffload.c: Moved to...
14420	* config/gcn/mkoffload.cc: ...here.
14421	* config/glibc-c.c: Moved to...
14422	* config/glibc-c.cc: ...here.
14423	* config/glibc-d.c: Moved to...
14424	* config/glibc-d.cc: ...here.
14425	* config/h8300/h8300.c: Moved to...
14426	* config/h8300/h8300.cc: ...here.
14427	* config/host-darwin.c: Moved to...
14428	* config/host-darwin.cc: ...here.
14429	* config/host-hpux.c: Moved to...
14430	* config/host-hpux.cc: ...here.
14431	* config/host-linux.c: Moved to...
14432	* config/host-linux.cc: ...here.
14433	* config/host-netbsd.c: Moved to...
14434	* config/host-netbsd.cc: ...here.
14435	* config/host-openbsd.c: Moved to...
14436	* config/host-openbsd.cc: ...here.
14437	* config/host-solaris.c: Moved to...
14438	* config/host-solaris.cc: ...here.
14439	* config/i386/djgpp.c: Moved to...
14440	* config/i386/djgpp.cc: ...here.
14441	* config/i386/driver-i386.c: Moved to...
14442	* config/i386/driver-i386.cc: ...here.
14443	* config/i386/driver-mingw32.c: Moved to...
14444	* config/i386/driver-mingw32.cc: ...here.
14445	* config/i386/gnu-property.c: Moved to...
14446	* config/i386/gnu-property.cc: ...here.
14447	* config/i386/host-cygwin.c: Moved to...
14448	* config/i386/host-cygwin.cc: ...here.
14449	* config/i386/host-i386-darwin.c: Moved to...
14450	* config/i386/host-i386-darwin.cc: ...here.
14451	* config/i386/host-mingw32.c: Moved to...
14452	* config/i386/host-mingw32.cc: ...here.
14453	* config/i386/i386-builtins.c: Moved to...
14454	* config/i386/i386-builtins.cc: ...here.
14455	* config/i386/i386-c.c: Moved to...
14456	* config/i386/i386-c.cc: ...here.
14457	* config/i386/i386-d.c: Moved to...
14458	* config/i386/i386-d.cc: ...here.
14459	* config/i386/i386-expand.c: Moved to...
14460	* config/i386/i386-expand.cc: ...here.
14461	* config/i386/i386-features.c: Moved to...
14462	* config/i386/i386-features.cc: ...here.
14463	* config/i386/i386-options.c: Moved to...
14464	* config/i386/i386-options.cc: ...here.
14465	* config/i386/i386.c: Moved to...
14466	* config/i386/i386.cc: ...here.
14467	* config/i386/intelmic-mkoffload.c: Moved to...
14468	* config/i386/intelmic-mkoffload.cc: ...here.
14469	* config/i386/msformat-c.c: Moved to...
14470	* config/i386/msformat-c.cc: ...here.
14471	* config/i386/winnt-cxx.c: Moved to...
14472	* config/i386/winnt-cxx.cc: ...here.
14473	* config/i386/winnt-d.c: Moved to...
14474	* config/i386/winnt-d.cc: ...here.
14475	* config/i386/winnt-stubs.c: Moved to...
14476	* config/i386/winnt-stubs.cc: ...here.
14477	* config/i386/winnt.c: Moved to...
14478	* config/i386/winnt.cc: ...here.
14479	* config/i386/x86-tune-sched-atom.c: Moved to...
14480	* config/i386/x86-tune-sched-atom.cc: ...here.
14481	* config/i386/x86-tune-sched-bd.c: Moved to...
14482	* config/i386/x86-tune-sched-bd.cc: ...here.
14483	* config/i386/x86-tune-sched-core.c: Moved to...
14484	* config/i386/x86-tune-sched-core.cc: ...here.
14485	* config/i386/x86-tune-sched.c: Moved to...
14486	* config/i386/x86-tune-sched.cc: ...here.
14487	* config/ia64/ia64-c.c: Moved to...
14488	* config/ia64/ia64-c.cc: ...here.
14489	* config/ia64/ia64.c: Moved to...
14490	* config/ia64/ia64.cc: ...here.
14491	* config/iq2000/iq2000.c: Moved to...
14492	* config/iq2000/iq2000.cc: ...here.
14493	* config/linux.c: Moved to...
14494	* config/linux.cc: ...here.
14495	* config/lm32/lm32.c: Moved to...
14496	* config/lm32/lm32.cc: ...here.
14497	* config/m32c/m32c-pragma.c: Moved to...
14498	* config/m32c/m32c-pragma.cc: ...here.
14499	* config/m32c/m32c.c: Moved to...
14500	* config/m32c/m32c.cc: ...here.
14501	* config/m32r/m32r.c: Moved to...
14502	* config/m32r/m32r.cc: ...here.
14503	* config/m68k/m68k.c: Moved to...
14504	* config/m68k/m68k.cc: ...here.
14505	* config/mcore/mcore.c: Moved to...
14506	* config/mcore/mcore.cc: ...here.
14507	* config/microblaze/microblaze-c.c: Moved to...
14508	* config/microblaze/microblaze-c.cc: ...here.
14509	* config/microblaze/microblaze.c: Moved to...
14510	* config/microblaze/microblaze.cc: ...here.
14511	* config/mips/driver-native.c: Moved to...
14512	* config/mips/driver-native.cc: ...here.
14513	* config/mips/frame-header-opt.c: Moved to...
14514	* config/mips/frame-header-opt.cc: ...here.
14515	* config/mips/mips-d.c: Moved to...
14516	* config/mips/mips-d.cc: ...here.
14517	* config/mips/mips.c: Moved to...
14518	* config/mips/mips.cc: ...here.
14519	* config/mmix/mmix.c: Moved to...
14520	* config/mmix/mmix.cc: ...here.
14521	* config/mn10300/mn10300.c: Moved to...
14522	* config/mn10300/mn10300.cc: ...here.
14523	* config/moxie/moxie.c: Moved to...
14524	* config/moxie/moxie.cc: ...here.
14525	* config/msp430/driver-msp430.c: Moved to...
14526	* config/msp430/driver-msp430.cc: ...here.
14527	* config/msp430/msp430-c.c: Moved to...
14528	* config/msp430/msp430-c.cc: ...here.
14529	* config/msp430/msp430-devices.c: Moved to...
14530	* config/msp430/msp430-devices.cc: ...here.
14531	* config/msp430/msp430.c: Moved to...
14532	* config/msp430/msp430.cc: ...here.
14533	* config/nds32/nds32-cost.c: Moved to...
14534	* config/nds32/nds32-cost.cc: ...here.
14535	* config/nds32/nds32-fp-as-gp.c: Moved to...
14536	* config/nds32/nds32-fp-as-gp.cc: ...here.
14537	* config/nds32/nds32-intrinsic.c: Moved to...
14538	* config/nds32/nds32-intrinsic.cc: ...here.
14539	* config/nds32/nds32-isr.c: Moved to...
14540	* config/nds32/nds32-isr.cc: ...here.
14541	* config/nds32/nds32-md-auxiliary.c: Moved to...
14542	* config/nds32/nds32-md-auxiliary.cc: ...here.
14543	* config/nds32/nds32-memory-manipulation.c: Moved to...
14544	* config/nds32/nds32-memory-manipulation.cc: ...here.
14545	* config/nds32/nds32-pipelines-auxiliary.c: Moved to...
14546	* config/nds32/nds32-pipelines-auxiliary.cc: ...here.
14547	* config/nds32/nds32-predicates.c: Moved to...
14548	* config/nds32/nds32-predicates.cc: ...here.
14549	* config/nds32/nds32-relax-opt.c: Moved to...
14550	* config/nds32/nds32-relax-opt.cc: ...here.
14551	* config/nds32/nds32-utils.c: Moved to...
14552	* config/nds32/nds32-utils.cc: ...here.
14553	* config/nds32/nds32.c: Moved to...
14554	* config/nds32/nds32.cc: ...here.
14555	* config/netbsd-d.c: Moved to...
14556	* config/netbsd-d.cc: ...here.
14557	* config/netbsd.c: Moved to...
14558	* config/netbsd.cc: ...here.
14559	* config/nios2/nios2.c: Moved to...
14560	* config/nios2/nios2.cc: ...here.
14561	* config/nvptx/mkoffload.c: Moved to...
14562	* config/nvptx/mkoffload.cc: ...here.
14563	* config/nvptx/nvptx-c.c: Moved to...
14564	* config/nvptx/nvptx-c.cc: ...here.
14565	* config/nvptx/nvptx.c: Moved to...
14566	* config/nvptx/nvptx.cc: ...here.
14567	* config/openbsd-d.c: Moved to...
14568	* config/openbsd-d.cc: ...here.
14569	* config/or1k/or1k.c: Moved to...
14570	* config/or1k/or1k.cc: ...here.
14571	* config/pa/pa-d.c: Moved to...
14572	* config/pa/pa-d.cc: ...here.
14573	* config/pa/pa.c: Moved to...
14574	* config/pa/pa.cc: ...here.
14575	* config/pdp11/pdp11.c: Moved to...
14576	* config/pdp11/pdp11.cc: ...here.
14577	* config/pru/pru-passes.c: Moved to...
14578	* config/pru/pru-passes.cc: ...here.
14579	* config/pru/pru-pragma.c: Moved to...
14580	* config/pru/pru-pragma.cc: ...here.
14581	* config/pru/pru.c: Moved to...
14582	* config/pru/pru.cc: ...here.
14583	* config/riscv/riscv-builtins.c: Moved to...
14584	* config/riscv/riscv-builtins.cc: ...here.
14585	* config/riscv/riscv-c.c: Moved to...
14586	* config/riscv/riscv-c.cc: ...here.
14587	* config/riscv/riscv-d.c: Moved to...
14588	* config/riscv/riscv-d.cc: ...here.
14589	* config/riscv/riscv-shorten-memrefs.c: Moved to...
14590	* config/riscv/riscv-shorten-memrefs.cc: ...here.
14591	* config/riscv/riscv-sr.c: Moved to...
14592	* config/riscv/riscv-sr.cc: ...here.
14593	* config/riscv/riscv.c: Moved to...
14594	* config/riscv/riscv.cc: ...here.
14595	* config/rl78/rl78-c.c: Moved to...
14596	* config/rl78/rl78-c.cc: ...here.
14597	* config/rl78/rl78.c: Moved to...
14598	* config/rl78/rl78.cc: ...here.
14599	* config/rs6000/driver-rs6000.c: Moved to...
14600	* config/rs6000/driver-rs6000.cc: ...here.
14601	* config/rs6000/host-darwin.c: Moved to...
14602	* config/rs6000/host-darwin.cc: ...here.
14603	* config/rs6000/host-ppc64-darwin.c: Moved to...
14604	* config/rs6000/host-ppc64-darwin.cc: ...here.
14605	* config/rs6000/rbtree.c: Moved to...
14606	* config/rs6000/rbtree.cc: ...here.
14607	* config/rs6000/rs6000-c.c: Moved to...
14608	* config/rs6000/rs6000-c.cc: ...here.
14609	* config/rs6000/rs6000-call.c: Moved to...
14610	* config/rs6000/rs6000-call.cc: ...here.
14611	* config/rs6000/rs6000-d.c: Moved to...
14612	* config/rs6000/rs6000-d.cc: ...here.
14613	* config/rs6000/rs6000-gen-builtins.c: Moved to...
14614	* config/rs6000/rs6000-gen-builtins.cc: ...here.
14615	* config/rs6000/rs6000-linux.c: Moved to...
14616	* config/rs6000/rs6000-linux.cc: ...here.
14617	* config/rs6000/rs6000-logue.c: Moved to...
14618	* config/rs6000/rs6000-logue.cc: ...here.
14619	* config/rs6000/rs6000-p8swap.c: Moved to...
14620	* config/rs6000/rs6000-p8swap.cc: ...here.
14621	* config/rs6000/rs6000-pcrel-opt.c: Moved to...
14622	* config/rs6000/rs6000-pcrel-opt.cc: ...here.
14623	* config/rs6000/rs6000-string.c: Moved to...
14624	* config/rs6000/rs6000-string.cc: ...here.
14625	* config/rs6000/rs6000.c: Moved to...
14626	* config/rs6000/rs6000.cc: ...here.
14627	* config/rx/rx.c: Moved to...
14628	* config/rx/rx.cc: ...here.
14629	* config/s390/driver-native.c: Moved to...
14630	* config/s390/driver-native.cc: ...here.
14631	* config/s390/s390-c.c: Moved to...
14632	* config/s390/s390-c.cc: ...here.
14633	* config/s390/s390-d.c: Moved to...
14634	* config/s390/s390-d.cc: ...here.
14635	* config/s390/s390.c: Moved to...
14636	* config/s390/s390.cc: ...here.
14637	* config/sh/divtab-sh4-300.c: Moved to...
14638	* config/sh/divtab-sh4-300.cc: ...here.
14639	* config/sh/divtab-sh4.c: Moved to...
14640	* config/sh/divtab-sh4.cc: ...here.
14641	* config/sh/divtab.c: Moved to...
14642	* config/sh/divtab.cc: ...here.
14643	* config/sh/sh-c.c: Moved to...
14644	* config/sh/sh-c.cc: ...here.
14645	* config/sh/sh.c: Moved to...
14646	* config/sh/sh.cc: ...here.
14647	* config/sol2-c.c: Moved to...
14648	* config/sol2-c.cc: ...here.
14649	* config/sol2-cxx.c: Moved to...
14650	* config/sol2-cxx.cc: ...here.
14651	* config/sol2-d.c: Moved to...
14652	* config/sol2-d.cc: ...here.
14653	* config/sol2-stubs.c: Moved to...
14654	* config/sol2-stubs.cc: ...here.
14655	* config/sol2.c: Moved to...
14656	* config/sol2.cc: ...here.
14657	* config/sparc/driver-sparc.c: Moved to...
14658	* config/sparc/driver-sparc.cc: ...here.
14659	* config/sparc/sparc-c.c: Moved to...
14660	* config/sparc/sparc-c.cc: ...here.
14661	* config/sparc/sparc-d.c: Moved to...
14662	* config/sparc/sparc-d.cc: ...here.
14663	* config/sparc/sparc.c: Moved to...
14664	* config/sparc/sparc.cc: ...here.
14665	* config/stormy16/stormy16.c: Moved to...
14666	* config/stormy16/stormy16.cc: ...here.
14667	* config/tilegx/mul-tables.c: Moved to...
14668	* config/tilegx/mul-tables.cc: ...here.
14669	* config/tilegx/tilegx-c.c: Moved to...
14670	* config/tilegx/tilegx-c.cc: ...here.
14671	* config/tilegx/tilegx.c: Moved to...
14672	* config/tilegx/tilegx.cc: ...here.
14673	* config/tilepro/mul-tables.c: Moved to...
14674	* config/tilepro/mul-tables.cc: ...here.
14675	* config/tilepro/tilepro-c.c: Moved to...
14676	* config/tilepro/tilepro-c.cc: ...here.
14677	* config/tilepro/tilepro.c: Moved to...
14678	* config/tilepro/tilepro.cc: ...here.
14679	* config/v850/v850-c.c: Moved to...
14680	* config/v850/v850-c.cc: ...here.
14681	* config/v850/v850.c: Moved to...
14682	* config/v850/v850.cc: ...here.
14683	* config/vax/vax.c: Moved to...
14684	* config/vax/vax.cc: ...here.
14685	* config/visium/visium.c: Moved to...
14686	* config/visium/visium.cc: ...here.
14687	* config/vms/vms-c.c: Moved to...
14688	* config/vms/vms-c.cc: ...here.
14689	* config/vms/vms-f.c: Moved to...
14690	* config/vms/vms-f.cc: ...here.
14691	* config/vms/vms.c: Moved to...
14692	* config/vms/vms.cc: ...here.
14693	* config/vxworks-c.c: Moved to...
14694	* config/vxworks-c.cc: ...here.
14695	* config/vxworks.c: Moved to...
14696	* config/vxworks.cc: ...here.
14697	* config/winnt-c.c: Moved to...
14698	* config/winnt-c.cc: ...here.
14699	* config/xtensa/xtensa.c: Moved to...
14700	* config/xtensa/xtensa.cc: ...here.
14701	* context.c: Moved to...
14702	* context.cc: ...here.
14703	* convert.c: Moved to...
14704	* convert.cc: ...here.
14705	* coverage.c: Moved to...
14706	* coverage.cc: ...here.
14707	* cppbuiltin.c: Moved to...
14708	* cppbuiltin.cc: ...here.
14709	* cppdefault.c: Moved to...
14710	* cppdefault.cc: ...here.
14711	* cprop.c: Moved to...
14712	* cprop.cc: ...here.
14713	* cse.c: Moved to...
14714	* cse.cc: ...here.
14715	* cselib.c: Moved to...
14716	* cselib.cc: ...here.
14717	* ctfc.c: Moved to...
14718	* ctfc.cc: ...here.
14719	* ctfout.c: Moved to...
14720	* ctfout.cc: ...here.
14721	* data-streamer-in.c: Moved to...
14722	* data-streamer-in.cc: ...here.
14723	* data-streamer-out.c: Moved to...
14724	* data-streamer-out.cc: ...here.
14725	* data-streamer.c: Moved to...
14726	* data-streamer.cc: ...here.
14727	* dbgcnt.c: Moved to...
14728	* dbgcnt.cc: ...here.
14729	* dbxout.c: Moved to...
14730	* dbxout.cc: ...here.
14731	* dce.c: Moved to...
14732	* dce.cc: ...here.
14733	* ddg.c: Moved to...
14734	* ddg.cc: ...here.
14735	* debug.c: Moved to...
14736	* debug.cc: ...here.
14737	* df-core.c: Moved to...
14738	* df-core.cc: ...here.
14739	* df-problems.c: Moved to...
14740	* df-problems.cc: ...here.
14741	* df-scan.c: Moved to...
14742	* df-scan.cc: ...here.
14743	* dfp.c: Moved to...
14744	* dfp.cc: ...here.
14745	* diagnostic-color.c: Moved to...
14746	* diagnostic-color.cc: ...here.
14747	* diagnostic-show-locus.c: Moved to...
14748	* diagnostic-show-locus.cc: ...here.
14749	* diagnostic-spec.c: Moved to...
14750	* diagnostic-spec.cc: ...here.
14751	* diagnostic.c: Moved to...
14752	* diagnostic.cc: ...here.
14753	* dojump.c: Moved to...
14754	* dojump.cc: ...here.
14755	* dominance.c: Moved to...
14756	* dominance.cc: ...here.
14757	* domwalk.c: Moved to...
14758	* domwalk.cc: ...here.
14759	* double-int.c: Moved to...
14760	* double-int.cc: ...here.
14761	* dse.c: Moved to...
14762	* dse.cc: ...here.
14763	* dumpfile.c: Moved to...
14764	* dumpfile.cc: ...here.
14765	* dwarf2asm.c: Moved to...
14766	* dwarf2asm.cc: ...here.
14767	* dwarf2cfi.c: Moved to...
14768	* dwarf2cfi.cc: ...here.
14769	* dwarf2ctf.c: Moved to...
14770	* dwarf2ctf.cc: ...here.
14771	* dwarf2out.c: Moved to...
14772	* dwarf2out.cc: ...here.
14773	* early-remat.c: Moved to...
14774	* early-remat.cc: ...here.
14775	* edit-context.c: Moved to...
14776	* edit-context.cc: ...here.
14777	* emit-rtl.c: Moved to...
14778	* emit-rtl.cc: ...here.
14779	* errors.c: Moved to...
14780	* errors.cc: ...here.
14781	* et-forest.c: Moved to...
14782	* et-forest.cc: ...here.
14783	* except.c: Moved to...
14784	* except.cc: ...here.
14785	* explow.c: Moved to...
14786	* explow.cc: ...here.
14787	* expmed.c: Moved to...
14788	* expmed.cc: ...here.
14789	* expr.c: Moved to...
14790	* expr.cc: ...here.
14791	* fibonacci_heap.c: Moved to...
14792	* fibonacci_heap.cc: ...here.
14793	* file-find.c: Moved to...
14794	* file-find.cc: ...here.
14795	* file-prefix-map.c: Moved to...
14796	* file-prefix-map.cc: ...here.
14797	* final.c: Moved to...
14798	* final.cc: ...here.
14799	* fixed-value.c: Moved to...
14800	* fixed-value.cc: ...here.
14801	* fold-const-call.c: Moved to...
14802	* fold-const-call.cc: ...here.
14803	* fold-const.c: Moved to...
14804	* fold-const.cc: ...here.
14805	* fp-test.c: Moved to...
14806	* fp-test.cc: ...here.
14807	* function-tests.c: Moved to...
14808	* function-tests.cc: ...here.
14809	* function.c: Moved to...
14810	* function.cc: ...here.
14811	* fwprop.c: Moved to...
14812	* fwprop.cc: ...here.
14813	* gcc-ar.c: Moved to...
14814	* gcc-ar.cc: ...here.
14815	* gcc-main.c: Moved to...
14816	* gcc-main.cc: ...here.
14817	* gcc-rich-location.c: Moved to...
14818	* gcc-rich-location.cc: ...here.
14819	* gcc.c: Moved to...
14820	* gcc.cc: ...here.
14821	* gcov-dump.c: Moved to...
14822	* gcov-dump.cc: ...here.
14823	* gcov-io.c: Moved to...
14824	* gcov-io.cc: ...here.
14825	* gcov-tool.c: Moved to...
14826	* gcov-tool.cc: ...here.
14827	* gcov.c: Moved to...
14828	* gcov.cc: ...here.
14829	* gcse-common.c: Moved to...
14830	* gcse-common.cc: ...here.
14831	* gcse.c: Moved to...
14832	* gcse.cc: ...here.
14833	* genattr-common.c: Moved to...
14834	* genattr-common.cc: ...here.
14835	* genattr.c: Moved to...
14836	* genattr.cc: ...here.
14837	* genattrtab.c: Moved to...
14838	* genattrtab.cc: ...here.
14839	* genautomata.c: Moved to...
14840	* genautomata.cc: ...here.
14841	* gencfn-macros.c: Moved to...
14842	* gencfn-macros.cc: ...here.
14843	* gencheck.c: Moved to...
14844	* gencheck.cc: ...here.
14845	* genchecksum.c: Moved to...
14846	* genchecksum.cc: ...here.
14847	* gencodes.c: Moved to...
14848	* gencodes.cc: ...here.
14849	* genconditions.c: Moved to...
14850	* genconditions.cc: ...here.
14851	* genconfig.c: Moved to...
14852	* genconfig.cc: ...here.
14853	* genconstants.c: Moved to...
14854	* genconstants.cc: ...here.
14855	* genemit.c: Moved to...
14856	* genemit.cc: ...here.
14857	* genenums.c: Moved to...
14858	* genenums.cc: ...here.
14859	* generic-match-head.c: Moved to...
14860	* generic-match-head.cc: ...here.
14861	* genextract.c: Moved to...
14862	* genextract.cc: ...here.
14863	* genflags.c: Moved to...
14864	* genflags.cc: ...here.
14865	* gengenrtl.c: Moved to...
14866	* gengenrtl.cc: ...here.
14867	* gengtype-parse.c: Moved to...
14868	* gengtype-parse.cc: ...here.
14869	* gengtype-state.c: Moved to...
14870	* gengtype-state.cc: ...here.
14871	* gengtype.c: Moved to...
14872	* gengtype.cc: ...here.
14873	* genhooks.c: Moved to...
14874	* genhooks.cc: ...here.
14875	* genmatch.c: Moved to...
14876	* genmatch.cc: ...here.
14877	* genmddeps.c: Moved to...
14878	* genmddeps.cc: ...here.
14879	* genmddump.c: Moved to...
14880	* genmddump.cc: ...here.
14881	* genmodes.c: Moved to...
14882	* genmodes.cc: ...here.
14883	* genopinit.c: Moved to...
14884	* genopinit.cc: ...here.
14885	* genoutput.c: Moved to...
14886	* genoutput.cc: ...here.
14887	* genpeep.c: Moved to...
14888	* genpeep.cc: ...here.
14889	* genpreds.c: Moved to...
14890	* genpreds.cc: ...here.
14891	* genrecog.c: Moved to...
14892	* genrecog.cc: ...here.
14893	* gensupport.c: Moved to...
14894	* gensupport.cc: ...here.
14895	* gentarget-def.c: Moved to...
14896	* gentarget-def.cc: ...here.
14897	* genversion.c: Moved to...
14898	* genversion.cc: ...here.
14899	* ggc-common.c: Moved to...
14900	* ggc-common.cc: ...here.
14901	* ggc-none.c: Moved to...
14902	* ggc-none.cc: ...here.
14903	* ggc-page.c: Moved to...
14904	* ggc-page.cc: ...here.
14905	* ggc-tests.c: Moved to...
14906	* ggc-tests.cc: ...here.
14907	* gimple-builder.c: Moved to...
14908	* gimple-builder.cc: ...here.
14909	* gimple-expr.c: Moved to...
14910	* gimple-expr.cc: ...here.
14911	* gimple-fold.c: Moved to...
14912	* gimple-fold.cc: ...here.
14913	* gimple-iterator.c: Moved to...
14914	* gimple-iterator.cc: ...here.
14915	* gimple-laddress.c: Moved to...
14916	* gimple-laddress.cc: ...here.
14917	* gimple-loop-jam.c: Moved to...
14918	* gimple-loop-jam.cc: ...here.
14919	* gimple-low.c: Moved to...
14920	* gimple-low.cc: ...here.
14921	* gimple-match-head.c: Moved to...
14922	* gimple-match-head.cc: ...here.
14923	* gimple-pretty-print.c: Moved to...
14924	* gimple-pretty-print.cc: ...here.
14925	* gimple-ssa-backprop.c: Moved to...
14926	* gimple-ssa-backprop.cc: ...here.
14927	* gimple-ssa-evrp-analyze.c: Moved to...
14928	* gimple-ssa-evrp-analyze.cc: ...here.
14929	* gimple-ssa-evrp.c: Moved to...
14930	* gimple-ssa-evrp.cc: ...here.
14931	* gimple-ssa-isolate-paths.c: Moved to...
14932	* gimple-ssa-isolate-paths.cc: ...here.
14933	* gimple-ssa-nonnull-compare.c: Moved to...
14934	* gimple-ssa-nonnull-compare.cc: ...here.
14935	* gimple-ssa-split-paths.c: Moved to...
14936	* gimple-ssa-split-paths.cc: ...here.
14937	* gimple-ssa-sprintf.c: Moved to...
14938	* gimple-ssa-sprintf.cc: ...here.
14939	* gimple-ssa-store-merging.c: Moved to...
14940	* gimple-ssa-store-merging.cc: ...here.
14941	* gimple-ssa-strength-reduction.c: Moved to...
14942	* gimple-ssa-strength-reduction.cc: ...here.
14943	* gimple-ssa-warn-alloca.c: Moved to...
14944	* gimple-ssa-warn-alloca.cc: ...here.
14945	* gimple-ssa-warn-restrict.c: Moved to...
14946	* gimple-ssa-warn-restrict.cc: ...here.
14947	* gimple-streamer-in.c: Moved to...
14948	* gimple-streamer-in.cc: ...here.
14949	* gimple-streamer-out.c: Moved to...
14950	* gimple-streamer-out.cc: ...here.
14951	* gimple-walk.c: Moved to...
14952	* gimple-walk.cc: ...here.
14953	* gimple-warn-recursion.c: Moved to...
14954	* gimple-warn-recursion.cc: ...here.
14955	* gimple.c: Moved to...
14956	* gimple.cc: ...here.
14957	* gimplify-me.c: Moved to...
14958	* gimplify-me.cc: ...here.
14959	* gimplify.c: Moved to...
14960	* gimplify.cc: ...here.
14961	* godump.c: Moved to...
14962	* godump.cc: ...here.
14963	* graph.c: Moved to...
14964	* graph.cc: ...here.
14965	* graphds.c: Moved to...
14966	* graphds.cc: ...here.
14967	* graphite-dependences.c: Moved to...
14968	* graphite-dependences.cc: ...here.
14969	* graphite-isl-ast-to-gimple.c: Moved to...
14970	* graphite-isl-ast-to-gimple.cc: ...here.
14971	* graphite-optimize-isl.c: Moved to...
14972	* graphite-optimize-isl.cc: ...here.
14973	* graphite-poly.c: Moved to...
14974	* graphite-poly.cc: ...here.
14975	* graphite-scop-detection.c: Moved to...
14976	* graphite-scop-detection.cc: ...here.
14977	* graphite-sese-to-poly.c: Moved to...
14978	* graphite-sese-to-poly.cc: ...here.
14979	* graphite.c: Moved to...
14980	* graphite.cc: ...here.
14981	* haifa-sched.c: Moved to...
14982	* haifa-sched.cc: ...here.
14983	* hash-map-tests.c: Moved to...
14984	* hash-map-tests.cc: ...here.
14985	* hash-set-tests.c: Moved to...
14986	* hash-set-tests.cc: ...here.
14987	* hash-table.c: Moved to...
14988	* hash-table.cc: ...here.
14989	* hooks.c: Moved to...
14990	* hooks.cc: ...here.
14991	* host-default.c: Moved to...
14992	* host-default.cc: ...here.
14993	* hw-doloop.c: Moved to...
14994	* hw-doloop.cc: ...here.
14995	* hwint.c: Moved to...
14996	* hwint.cc: ...here.
14997	* ifcvt.c: Moved to...
14998	* ifcvt.cc: ...here.
14999	* inchash.c: Moved to...
15000	* inchash.cc: ...here.
15001	* incpath.c: Moved to...
15002	* incpath.cc: ...here.
15003	* init-regs.c: Moved to...
15004	* init-regs.cc: ...here.
15005	* input.c: Moved to...
15006	* input.cc: ...here.
15007	* internal-fn.c: Moved to...
15008	* internal-fn.cc: ...here.
15009	* intl.c: Moved to...
15010	* intl.cc: ...here.
15011	* ipa-comdats.c: Moved to...
15012	* ipa-comdats.cc: ...here.
15013	* ipa-cp.c: Moved to...
15014	* ipa-cp.cc: ...here.
15015	* ipa-devirt.c: Moved to...
15016	* ipa-devirt.cc: ...here.
15017	* ipa-fnsummary.c: Moved to...
15018	* ipa-fnsummary.cc: ...here.
15019	* ipa-icf-gimple.c: Moved to...
15020	* ipa-icf-gimple.cc: ...here.
15021	* ipa-icf.c: Moved to...
15022	* ipa-icf.cc: ...here.
15023	* ipa-inline-analysis.c: Moved to...
15024	* ipa-inline-analysis.cc: ...here.
15025	* ipa-inline-transform.c: Moved to...
15026	* ipa-inline-transform.cc: ...here.
15027	* ipa-inline.c: Moved to...
15028	* ipa-inline.cc: ...here.
15029	* ipa-modref-tree.c: Moved to...
15030	* ipa-modref-tree.cc: ...here.
15031	* ipa-modref.c: Moved to...
15032	* ipa-modref.cc: ...here.
15033	* ipa-param-manipulation.c: Moved to...
15034	* ipa-param-manipulation.cc: ...here.
15035	* ipa-polymorphic-call.c: Moved to...
15036	* ipa-polymorphic-call.cc: ...here.
15037	* ipa-predicate.c: Moved to...
15038	* ipa-predicate.cc: ...here.
15039	* ipa-profile.c: Moved to...
15040	* ipa-profile.cc: ...here.
15041	* ipa-prop.c: Moved to...
15042	* ipa-prop.cc: ...here.
15043	* ipa-pure-const.c: Moved to...
15044	* ipa-pure-const.cc: ...here.
15045	* ipa-ref.c: Moved to...
15046	* ipa-ref.cc: ...here.
15047	* ipa-reference.c: Moved to...
15048	* ipa-reference.cc: ...here.
15049	* ipa-split.c: Moved to...
15050	* ipa-split.cc: ...here.
15051	* ipa-sra.c: Moved to...
15052	* ipa-sra.cc: ...here.
15053	* ipa-utils.c: Moved to...
15054	* ipa-utils.cc: ...here.
15055	* ipa-visibility.c: Moved to...
15056	* ipa-visibility.cc: ...here.
15057	* ipa.c: Moved to...
15058	* ipa.cc: ...here.
15059	* ira-build.c: Moved to...
15060	* ira-build.cc: ...here.
15061	* ira-color.c: Moved to...
15062	* ira-color.cc: ...here.
15063	* ira-conflicts.c: Moved to...
15064	* ira-conflicts.cc: ...here.
15065	* ira-costs.c: Moved to...
15066	* ira-costs.cc: ...here.
15067	* ira-emit.c: Moved to...
15068	* ira-emit.cc: ...here.
15069	* ira-lives.c: Moved to...
15070	* ira-lives.cc: ...here.
15071	* ira.c: Moved to...
15072	* ira.cc: ...here.
15073	* jump.c: Moved to...
15074	* jump.cc: ...here.
15075	* langhooks.c: Moved to...
15076	* langhooks.cc: ...here.
15077	* lcm.c: Moved to...
15078	* lcm.cc: ...here.
15079	* lists.c: Moved to...
15080	* lists.cc: ...here.
15081	* loop-doloop.c: Moved to...
15082	* loop-doloop.cc: ...here.
15083	* loop-init.c: Moved to...
15084	* loop-init.cc: ...here.
15085	* loop-invariant.c: Moved to...
15086	* loop-invariant.cc: ...here.
15087	* loop-iv.c: Moved to...
15088	* loop-iv.cc: ...here.
15089	* loop-unroll.c: Moved to...
15090	* loop-unroll.cc: ...here.
15091	* lower-subreg.c: Moved to...
15092	* lower-subreg.cc: ...here.
15093	* lra-assigns.c: Moved to...
15094	* lra-assigns.cc: ...here.
15095	* lra-coalesce.c: Moved to...
15096	* lra-coalesce.cc: ...here.
15097	* lra-constraints.c: Moved to...
15098	* lra-constraints.cc: ...here.
15099	* lra-eliminations.c: Moved to...
15100	* lra-eliminations.cc: ...here.
15101	* lra-lives.c: Moved to...
15102	* lra-lives.cc: ...here.
15103	* lra-remat.c: Moved to...
15104	* lra-remat.cc: ...here.
15105	* lra-spills.c: Moved to...
15106	* lra-spills.cc: ...here.
15107	* lra.c: Moved to...
15108	* lra.cc: ...here.
15109	* lto-cgraph.c: Moved to...
15110	* lto-cgraph.cc: ...here.
15111	* lto-compress.c: Moved to...
15112	* lto-compress.cc: ...here.
15113	* lto-opts.c: Moved to...
15114	* lto-opts.cc: ...here.
15115	* lto-section-in.c: Moved to...
15116	* lto-section-in.cc: ...here.
15117	* lto-section-out.c: Moved to...
15118	* lto-section-out.cc: ...here.
15119	* lto-streamer-in.c: Moved to...
15120	* lto-streamer-in.cc: ...here.
15121	* lto-streamer-out.c: Moved to...
15122	* lto-streamer-out.cc: ...here.
15123	* lto-streamer.c: Moved to...
15124	* lto-streamer.cc: ...here.
15125	* lto-wrapper.c: Moved to...
15126	* lto-wrapper.cc: ...here.
15127	* main.c: Moved to...
15128	* main.cc: ...here.
15129	* mcf.c: Moved to...
15130	* mcf.cc: ...here.
15131	* mode-switching.c: Moved to...
15132	* mode-switching.cc: ...here.
15133	* modulo-sched.c: Moved to...
15134	* modulo-sched.cc: ...here.
15135	* multiple_target.c: Moved to...
15136	* multiple_target.cc: ...here.
15137	* omp-expand.c: Moved to...
15138	* omp-expand.cc: ...here.
15139	* omp-general.c: Moved to...
15140	* omp-general.cc: ...here.
15141	* omp-low.c: Moved to...
15142	* omp-low.cc: ...here.
15143	* omp-offload.c: Moved to...
15144	* omp-offload.cc: ...here.
15145	* omp-simd-clone.c: Moved to...
15146	* omp-simd-clone.cc: ...here.
15147	* opt-suggestions.c: Moved to...
15148	* opt-suggestions.cc: ...here.
15149	* optabs-libfuncs.c: Moved to...
15150	* optabs-libfuncs.cc: ...here.
15151	* optabs-query.c: Moved to...
15152	* optabs-query.cc: ...here.
15153	* optabs-tree.c: Moved to...
15154	* optabs-tree.cc: ...here.
15155	* optabs.c: Moved to...
15156	* optabs.cc: ...here.
15157	* opts-common.c: Moved to...
15158	* opts-common.cc: ...here.
15159	* opts-global.c: Moved to...
15160	* opts-global.cc: ...here.
15161	* opts.c: Moved to...
15162	* opts.cc: ...here.
15163	* passes.c: Moved to...
15164	* passes.cc: ...here.
15165	* plugin.c: Moved to...
15166	* plugin.cc: ...here.
15167	* postreload-gcse.c: Moved to...
15168	* postreload-gcse.cc: ...here.
15169	* postreload.c: Moved to...
15170	* postreload.cc: ...here.
15171	* predict.c: Moved to...
15172	* predict.cc: ...here.
15173	* prefix.c: Moved to...
15174	* prefix.cc: ...here.
15175	* pretty-print.c: Moved to...
15176	* pretty-print.cc: ...here.
15177	* print-rtl-function.c: Moved to...
15178	* print-rtl-function.cc: ...here.
15179	* print-rtl.c: Moved to...
15180	* print-rtl.cc: ...here.
15181	* print-tree.c: Moved to...
15182	* print-tree.cc: ...here.
15183	* profile-count.c: Moved to...
15184	* profile-count.cc: ...here.
15185	* profile.c: Moved to...
15186	* profile.cc: ...here.
15187	* read-md.c: Moved to...
15188	* read-md.cc: ...here.
15189	* read-rtl-function.c: Moved to...
15190	* read-rtl-function.cc: ...here.
15191	* read-rtl.c: Moved to...
15192	* read-rtl.cc: ...here.
15193	* real.c: Moved to...
15194	* real.cc: ...here.
15195	* realmpfr.c: Moved to...
15196	* realmpfr.cc: ...here.
15197	* recog.c: Moved to...
15198	* recog.cc: ...here.
15199	* ree.c: Moved to...
15200	* ree.cc: ...here.
15201	* reg-stack.c: Moved to...
15202	* reg-stack.cc: ...here.
15203	* regcprop.c: Moved to...
15204	* regcprop.cc: ...here.
15205	* reginfo.c: Moved to...
15206	* reginfo.cc: ...here.
15207	* regrename.c: Moved to...
15208	* regrename.cc: ...here.
15209	* regstat.c: Moved to...
15210	* regstat.cc: ...here.
15211	* reload.c: Moved to...
15212	* reload.cc: ...here.
15213	* reload1.c: Moved to...
15214	* reload1.cc: ...here.
15215	* reorg.c: Moved to...
15216	* reorg.cc: ...here.
15217	* resource.c: Moved to...
15218	* resource.cc: ...here.
15219	* rtl-error.c: Moved to...
15220	* rtl-error.cc: ...here.
15221	* rtl-tests.c: Moved to...
15222	* rtl-tests.cc: ...here.
15223	* rtl.c: Moved to...
15224	* rtl.cc: ...here.
15225	* rtlanal.c: Moved to...
15226	* rtlanal.cc: ...here.
15227	* rtlhash.c: Moved to...
15228	* rtlhash.cc: ...here.
15229	* rtlhooks.c: Moved to...
15230	* rtlhooks.cc: ...here.
15231	* rtx-vector-builder.c: Moved to...
15232	* rtx-vector-builder.cc: ...here.
15233	* run-rtl-passes.c: Moved to...
15234	* run-rtl-passes.cc: ...here.
15235	* sancov.c: Moved to...
15236	* sancov.cc: ...here.
15237	* sanopt.c: Moved to...
15238	* sanopt.cc: ...here.
15239	* sbitmap.c: Moved to...
15240	* sbitmap.cc: ...here.
15241	* sched-deps.c: Moved to...
15242	* sched-deps.cc: ...here.
15243	* sched-ebb.c: Moved to...
15244	* sched-ebb.cc: ...here.
15245	* sched-rgn.c: Moved to...
15246	* sched-rgn.cc: ...here.
15247	* sel-sched-dump.c: Moved to...
15248	* sel-sched-dump.cc: ...here.
15249	* sel-sched-ir.c: Moved to...
15250	* sel-sched-ir.cc: ...here.
15251	* sel-sched.c: Moved to...
15252	* sel-sched.cc: ...here.
15253	* selftest-diagnostic.c: Moved to...
15254	* selftest-diagnostic.cc: ...here.
15255	* selftest-rtl.c: Moved to...
15256	* selftest-rtl.cc: ...here.
15257	* selftest-run-tests.c: Moved to...
15258	* selftest-run-tests.cc: ...here.
15259	* selftest.c: Moved to...
15260	* selftest.cc: ...here.
15261	* sese.c: Moved to...
15262	* sese.cc: ...here.
15263	* shrink-wrap.c: Moved to...
15264	* shrink-wrap.cc: ...here.
15265	* simplify-rtx.c: Moved to...
15266	* simplify-rtx.cc: ...here.
15267	* sparseset.c: Moved to...
15268	* sparseset.cc: ...here.
15269	* spellcheck-tree.c: Moved to...
15270	* spellcheck-tree.cc: ...here.
15271	* spellcheck.c: Moved to...
15272	* spellcheck.cc: ...here.
15273	* sreal.c: Moved to...
15274	* sreal.cc: ...here.
15275	* stack-ptr-mod.c: Moved to...
15276	* stack-ptr-mod.cc: ...here.
15277	* statistics.c: Moved to...
15278	* statistics.cc: ...here.
15279	* stmt.c: Moved to...
15280	* stmt.cc: ...here.
15281	* stor-layout.c: Moved to...
15282	* stor-layout.cc: ...here.
15283	* store-motion.c: Moved to...
15284	* store-motion.cc: ...here.
15285	* streamer-hooks.c: Moved to...
15286	* streamer-hooks.cc: ...here.
15287	* stringpool.c: Moved to...
15288	* stringpool.cc: ...here.
15289	* substring-locations.c: Moved to...
15290	* substring-locations.cc: ...here.
15291	* symtab.c: Moved to...
15292	* symtab.cc: ...here.
15293	* target-globals.c: Moved to...
15294	* target-globals.cc: ...here.
15295	* targhooks.c: Moved to...
15296	* targhooks.cc: ...here.
15297	* timevar.c: Moved to...
15298	* timevar.cc: ...here.
15299	* toplev.c: Moved to...
15300	* toplev.cc: ...here.
15301	* tracer.c: Moved to...
15302	* tracer.cc: ...here.
15303	* trans-mem.c: Moved to...
15304	* trans-mem.cc: ...here.
15305	* tree-affine.c: Moved to...
15306	* tree-affine.cc: ...here.
15307	* tree-call-cdce.c: Moved to...
15308	* tree-call-cdce.cc: ...here.
15309	* tree-cfg.c: Moved to...
15310	* tree-cfg.cc: ...here.
15311	* tree-cfgcleanup.c: Moved to...
15312	* tree-cfgcleanup.cc: ...here.
15313	* tree-chrec.c: Moved to...
15314	* tree-chrec.cc: ...here.
15315	* tree-complex.c: Moved to...
15316	* tree-complex.cc: ...here.
15317	* tree-data-ref.c: Moved to...
15318	* tree-data-ref.cc: ...here.
15319	* tree-dfa.c: Moved to...
15320	* tree-dfa.cc: ...here.
15321	* tree-diagnostic.c: Moved to...
15322	* tree-diagnostic.cc: ...here.
15323	* tree-dump.c: Moved to...
15324	* tree-dump.cc: ...here.
15325	* tree-eh.c: Moved to...
15326	* tree-eh.cc: ...here.
15327	* tree-emutls.c: Moved to...
15328	* tree-emutls.cc: ...here.
15329	* tree-if-conv.c: Moved to...
15330	* tree-if-conv.cc: ...here.
15331	* tree-inline.c: Moved to...
15332	* tree-inline.cc: ...here.
15333	* tree-into-ssa.c: Moved to...
15334	* tree-into-ssa.cc: ...here.
15335	* tree-iterator.c: Moved to...
15336	* tree-iterator.cc: ...here.
15337	* tree-loop-distribution.c: Moved to...
15338	* tree-loop-distribution.cc: ...here.
15339	* tree-nested.c: Moved to...
15340	* tree-nested.cc: ...here.
15341	* tree-nrv.c: Moved to...
15342	* tree-nrv.cc: ...here.
15343	* tree-object-size.c: Moved to...
15344	* tree-object-size.cc: ...here.
15345	* tree-outof-ssa.c: Moved to...
15346	* tree-outof-ssa.cc: ...here.
15347	* tree-parloops.c: Moved to...
15348	* tree-parloops.cc: ...here.
15349	* tree-phinodes.c: Moved to...
15350	* tree-phinodes.cc: ...here.
15351	* tree-predcom.c: Moved to...
15352	* tree-predcom.cc: ...here.
15353	* tree-pretty-print.c: Moved to...
15354	* tree-pretty-print.cc: ...here.
15355	* tree-profile.c: Moved to...
15356	* tree-profile.cc: ...here.
15357	* tree-scalar-evolution.c: Moved to...
15358	* tree-scalar-evolution.cc: ...here.
15359	* tree-sra.c: Moved to...
15360	* tree-sra.cc: ...here.
15361	* tree-ssa-address.c: Moved to...
15362	* tree-ssa-address.cc: ...here.
15363	* tree-ssa-alias.c: Moved to...
15364	* tree-ssa-alias.cc: ...here.
15365	* tree-ssa-ccp.c: Moved to...
15366	* tree-ssa-ccp.cc: ...here.
15367	* tree-ssa-coalesce.c: Moved to...
15368	* tree-ssa-coalesce.cc: ...here.
15369	* tree-ssa-copy.c: Moved to...
15370	* tree-ssa-copy.cc: ...here.
15371	* tree-ssa-dce.c: Moved to...
15372	* tree-ssa-dce.cc: ...here.
15373	* tree-ssa-dom.c: Moved to...
15374	* tree-ssa-dom.cc: ...here.
15375	* tree-ssa-dse.c: Moved to...
15376	* tree-ssa-dse.cc: ...here.
15377	* tree-ssa-forwprop.c: Moved to...
15378	* tree-ssa-forwprop.cc: ...here.
15379	* tree-ssa-ifcombine.c: Moved to...
15380	* tree-ssa-ifcombine.cc: ...here.
15381	* tree-ssa-live.c: Moved to...
15382	* tree-ssa-live.cc: ...here.
15383	* tree-ssa-loop-ch.c: Moved to...
15384	* tree-ssa-loop-ch.cc: ...here.
15385	* tree-ssa-loop-im.c: Moved to...
15386	* tree-ssa-loop-im.cc: ...here.
15387	* tree-ssa-loop-ivcanon.c: Moved to...
15388	* tree-ssa-loop-ivcanon.cc: ...here.
15389	* tree-ssa-loop-ivopts.c: Moved to...
15390	* tree-ssa-loop-ivopts.cc: ...here.
15391	* tree-ssa-loop-manip.c: Moved to...
15392	* tree-ssa-loop-manip.cc: ...here.
15393	* tree-ssa-loop-niter.c: Moved to...
15394	* tree-ssa-loop-niter.cc: ...here.
15395	* tree-ssa-loop-prefetch.c: Moved to...
15396	* tree-ssa-loop-prefetch.cc: ...here.
15397	* tree-ssa-loop-split.c: Moved to...
15398	* tree-ssa-loop-split.cc: ...here.
15399	* tree-ssa-loop-unswitch.c: Moved to...
15400	* tree-ssa-loop-unswitch.cc: ...here.
15401	* tree-ssa-loop.c: Moved to...
15402	* tree-ssa-loop.cc: ...here.
15403	* tree-ssa-math-opts.c: Moved to...
15404	* tree-ssa-math-opts.cc: ...here.
15405	* tree-ssa-operands.c: Moved to...
15406	* tree-ssa-operands.cc: ...here.
15407	* tree-ssa-phiopt.c: Moved to...
15408	* tree-ssa-phiopt.cc: ...here.
15409	* tree-ssa-phiprop.c: Moved to...
15410	* tree-ssa-phiprop.cc: ...here.
15411	* tree-ssa-pre.c: Moved to...
15412	* tree-ssa-pre.cc: ...here.
15413	* tree-ssa-propagate.c: Moved to...
15414	* tree-ssa-propagate.cc: ...here.
15415	* tree-ssa-reassoc.c: Moved to...
15416	* tree-ssa-reassoc.cc: ...here.
15417	* tree-ssa-sccvn.c: Moved to...
15418	* tree-ssa-sccvn.cc: ...here.
15419	* tree-ssa-scopedtables.c: Moved to...
15420	* tree-ssa-scopedtables.cc: ...here.
15421	* tree-ssa-sink.c: Moved to...
15422	* tree-ssa-sink.cc: ...here.
15423	* tree-ssa-strlen.c: Moved to...
15424	* tree-ssa-strlen.cc: ...here.
15425	* tree-ssa-structalias.c: Moved to...
15426	* tree-ssa-structalias.cc: ...here.
15427	* tree-ssa-tail-merge.c: Moved to...
15428	* tree-ssa-tail-merge.cc: ...here.
15429	* tree-ssa-ter.c: Moved to...
15430	* tree-ssa-ter.cc: ...here.
15431	* tree-ssa-threadbackward.c: Moved to...
15432	* tree-ssa-threadbackward.cc: ...here.
15433	* tree-ssa-threadedge.c: Moved to...
15434	* tree-ssa-threadedge.cc: ...here.
15435	* tree-ssa-threadupdate.c: Moved to...
15436	* tree-ssa-threadupdate.cc: ...here.
15437	* tree-ssa-uncprop.c: Moved to...
15438	* tree-ssa-uncprop.cc: ...here.
15439	* tree-ssa-uninit.c: Moved to...
15440	* tree-ssa-uninit.cc: ...here.
15441	* tree-ssa.c: Moved to...
15442	* tree-ssa.cc: ...here.
15443	* tree-ssanames.c: Moved to...
15444	* tree-ssanames.cc: ...here.
15445	* tree-stdarg.c: Moved to...
15446	* tree-stdarg.cc: ...here.
15447	* tree-streamer-in.c: Moved to...
15448	* tree-streamer-in.cc: ...here.
15449	* tree-streamer-out.c: Moved to...
15450	* tree-streamer-out.cc: ...here.
15451	* tree-streamer.c: Moved to...
15452	* tree-streamer.cc: ...here.
15453	* tree-switch-conversion.c: Moved to...
15454	* tree-switch-conversion.cc: ...here.
15455	* tree-tailcall.c: Moved to...
15456	* tree-tailcall.cc: ...here.
15457	* tree-vect-data-refs.c: Moved to...
15458	* tree-vect-data-refs.cc: ...here.
15459	* tree-vect-generic.c: Moved to...
15460	* tree-vect-generic.cc: ...here.
15461	* tree-vect-loop-manip.c: Moved to...
15462	* tree-vect-loop-manip.cc: ...here.
15463	* tree-vect-loop.c: Moved to...
15464	* tree-vect-loop.cc: ...here.
15465	* tree-vect-patterns.c: Moved to...
15466	* tree-vect-patterns.cc: ...here.
15467	* tree-vect-slp-patterns.c: Moved to...
15468	* tree-vect-slp-patterns.cc: ...here.
15469	* tree-vect-slp.c: Moved to...
15470	* tree-vect-slp.cc: ...here.
15471	* tree-vect-stmts.c: Moved to...
15472	* tree-vect-stmts.cc: ...here.
15473	* tree-vector-builder.c: Moved to...
15474	* tree-vector-builder.cc: ...here.
15475	* tree-vectorizer.c: Moved to...
15476	* tree-vectorizer.cc: ...here.
15477	* tree-vrp.c: Moved to...
15478	* tree-vrp.cc: ...here.
15479	* tree.c: Moved to...
15480	* tree.cc: ...here.
15481	* tsan.c: Moved to...
15482	* tsan.cc: ...here.
15483	* typed-splay-tree.c: Moved to...
15484	* typed-splay-tree.cc: ...here.
15485	* ubsan.c: Moved to...
15486	* ubsan.cc: ...here.
15487	* valtrack.c: Moved to...
15488	* valtrack.cc: ...here.
15489	* value-prof.c: Moved to...
15490	* value-prof.cc: ...here.
15491	* var-tracking.c: Moved to...
15492	* var-tracking.cc: ...here.
15493	* varasm.c: Moved to...
15494	* varasm.cc: ...here.
15495	* varpool.c: Moved to...
15496	* varpool.cc: ...here.
15497	* vec-perm-indices.c: Moved to...
15498	* vec-perm-indices.cc: ...here.
15499	* vec.c: Moved to...
15500	* vec.cc: ...here.
15501	* vmsdbgout.c: Moved to...
15502	* vmsdbgout.cc: ...here.
15503	* vr-values.c: Moved to...
15504	* vr-values.cc: ...here.
15505	* vtable-verify.c: Moved to...
15506	* vtable-verify.cc: ...here.
15507	* web.c: Moved to...
15508	* web.cc: ...here.
15509	* xcoffout.c: Moved to...
15510	* xcoffout.cc: ...here.
15511
155122022-01-17  qing zhao  <qing.zhao@oracle.com>
15513
15514	* tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
15515	.DEFERRED_INIT call with an anonymous SSA_NAME specially.
15516	(check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
15517	specially.
15518	(warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
15519	(warn_uninitialized_vars): Likewise.
15520	(warn_uninitialized_phi): Likewise.
15521
155222022-01-17  Jason Merrill  <jason@redhat.com>
15523
15524	* diagnostic.h (struct diagnostic_context): Add includes_seen.
15525	* diagnostic.c (diagnostic_initialize): Initialize it.
15526	(diagnostic_finish): Clean it up.
15527	(includes_seen): New function.
15528	(diagnostic_report_current_module): Use it.
15529
155302022-01-17  Richard Biener  <rguenther@suse.de>
15531
15532	PR middle-end/101292
15533	* diagnostic-spec.c (copy_warning): Make sure to not
15534	reference old hashtable content on possible resize.
15535	* warning-control.cc (copy_warning): Likewise.
15536
155372022-01-17  Jakub Jelinek  <jakub@redhat.com>
15538
15539	PR target/103973
15540	* tree-cfg.h (cond_only_block_p): Declare.
15541	* tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
15542	* tree-cfg.c (cond_only_block_p): ... here.  No longer static.
15543	* optabs.def (spaceship_optab): New optab.
15544	* internal-fn.def (SPACESHIP): New internal function.
15545	* internal-fn.h (expand_SPACESHIP): Declare.
15546	* internal-fn.c (expand_PHI): Formatting fix.
15547	(expand_SPACESHIP): New function.
15548	* tree-ssa-math-opts.c (optimize_spaceship): New function.
15549	(math_opts_dom_walker::after_dom_children): Use it.
15550	* config/i386/i386.md (spaceship<mode>3): New define_expand.
15551	* config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
15552	* config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
15553	* doc/md.texi (spaceship@var{m}3): Document.
15554
155552022-01-17  Kewen Lin  <linkw@linux.ibm.com>
15556
15557	* config/rs6000/altivec.md (altivec_vreveti2): Remove.
15558	* config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
15559	*vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
15560	known constant values to simplify code.
15561
155622022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
15563
15564	PR target/103124
15565	* config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
15566
155672022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
15568
15569	* config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
15570	* config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
15571	Insert zero-idiom in output template when attr enabled, set new attribute to
15572	true for non-mask/maskz insn.
15573	(avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
15574	Likewise.
15575	(avx512dq_mul<mode>3<mask_name>): Likewise.
15576	(<avx2_avx512>_permvar<mode><mask_name>): Likewise.
15577	(avx2_perm<mode>_1<mask_name>): Likewise.
15578	(avx512f_perm<mode>_1<mask_name>): Likewise.
15579	(avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
15580	(avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
15581	Likewise.
15582	(<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
15583	(avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
15584	Likewise.
15585	* config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
15586	subst_attr.
15587	(mask4_dest_false_dep_for_glc_cond): Likewise.
15588	(mask6_dest_false_dep_for_glc_cond): Likewise.
15589	(mask10_dest_false_dep_for_glc_cond): Likewise.
15590	(maskc_dest_false_dep_for_glc_cond): Likewise.
15591	(mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
15592	(mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
15593	* config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
15594	DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
15595
155962022-01-15  Martin Sebor  <msebor@redhat.com>
15597
15598	PR c/63272
15599	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
15600	-Wdangling-pointer.
15601	* doc/invoke.texi (-Wdangling-pointer): Document new option.
15602	* gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
15603	(pass_waccess::check_pointer_uses): New function.
15604	(pass_waccess::gimple_call_return_arg): New function.
15605	(pass_waccess::gimple_call_return_arg_ref): New function.
15606	(pass_waccess::check_call_dangling): New function.
15607	(pass_waccess::check_dangling_uses): New function overloads.
15608	(pass_waccess::check_dangling_stores): New function.
15609	(pass_waccess::check_dangling_stores): New function.
15610	(pass_waccess::m_clobbers): New data member.
15611	(pass_waccess::m_func): New data member.
15612	(pass_waccess::m_run_number): New data member.
15613	(pass_waccess::m_check_dangling_p): New data member.
15614	(pass_waccess::check_alloca): Check m_early_checks_p.
15615	(pass_waccess::check_alloc_size_call): Same.
15616	(pass_waccess::check_strcat): Same.
15617	(pass_waccess::check_strncat): Same.
15618	(pass_waccess::check_stxcpy): Same.
15619	(pass_waccess::check_stxncpy): Same.
15620	(pass_waccess::check_strncmp): Same.
15621	(pass_waccess::check_memop_access): Same.
15622	(pass_waccess::check_read_access): Same.
15623	(pass_waccess::check_builtin): Call check_pointer_uses.
15624	(pass_waccess::warn_invalid_pointer): Add arguments.
15625	(is_auto_decl): New function.
15626	(pass_waccess::check_stmt): New function.
15627	(pass_waccess::check_block): Call check_stmt.
15628	(pass_waccess::execute): Call check_dangling_uses,
15629	check_dangling_stores.  Empty m_clobbers.
15630	* passes.def (pass_warn_access): Invoke pass two more times.
15631
156322022-01-15  Martin Sebor  <msebor@redhat.com>
15633
15634	PR tree-optimization/80532
15635	* common.opt (-Wuse-after-free): New options.
15636	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
15637	OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
15638	* diagnostic-spec.h (NW_DANGLING): New enumerator.
15639	* doc/invoke.texi (-Wuse-after-free): Document new option.
15640	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
15641	(pass_waccess::check_call_access): ...to this.
15642	(pass_waccess::check): Rename...
15643	(pass_waccess::check_block): ...to this.
15644	(pass_waccess::check_pointer_uses): New function.
15645	(pass_waccess::gimple_call_return_arg): New function.
15646	(pass_waccess::warn_invalid_pointer): New function.
15647	(pass_waccess::check_builtin): Handle free and realloc.
15648	(gimple_use_after_inval_p): New function.
15649	(get_realloc_lhs): New function.
15650	(maybe_warn_mismatched_realloc): New function.
15651	(pointers_related_p): New function.
15652	(pass_waccess::check_call): Call check_pointer_uses.
15653	(pass_waccess::execute): Compute and free dominance info.
15654
156552022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
15656
15657	* config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
15658	expand_simple_unop and expand_simple_binop instead of manually
15659	constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
15660	consistently.  Eliminate common subexpressions and simplify code.
15661	* config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
15662	(<any_logic:code><MODEF:mode>3): Make public.
15663
156642022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
15665
15666	* ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
15667	reverse flag as "reverse" for the sake of consistency.
15668	* ipa-sra.c: Fix copyright year.
15669	(ipa_sra_function_summaries::duplicate): Copy the reverse flag.
15670	(dump_isra_access): Tweak dump line.
15671	(isra_write_node_summary): Write the reverse flag.
15672	(isra_read_node_info): Read it.
15673	(pull_accesses_from_callee): Test its consistency and copy it.
15674
156752022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
15676
15677	PR middle-end/104026
15678	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
15679	partial_load_store_bias.
15680
156812022-01-14  Martin Sebor  <msebor@redhat.com>
15682
15683	PR middle-end/101475
15684	* pointer-query.cc (handle_component_ref): Use the size of
15685	the enclosing object if it's smaller than the member.
15686
156872022-01-14  Martin Liska  <mliska@suse.cz>
15688
15689	* configure: Regenerate.
15690
156912022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
15692
15693	* config/i386/i386.md (*add<mode>_1_slp"):
15694	Mark alternative 1 output operand earlyclobbered.
15695	(*sub<mode>_1_slp): Ditto.
15696	(*and<mode>_1_slp): Ditto.
15697	(*<code><mode>_1_slp): Ditto.
15698	(*neg<mode>_1_slp): Ditto.
15699	(*one_cmpl<mode>_1_slp): Ditto.
15700	(*ashl<mode>3_1_slp): Ditto.
15701	(*<insn><mode>3_1_slp): Ditto.
15702	(*<insn><mode>3_1_slp): Ditto.
15703
157042022-01-14  Kewen Lin  <linkw@linux.ibm.com>
15705
15706	PR tree-optimization/104015
15707	* tree-vect-loop.c (vect_analyze_loop): Check
15708	param_vect_partial_vector_usage for supports_partial_vectors.
15709
157102022-01-14  Jakub Jelinek  <jakub@redhat.com>
15711
15712	PR c++/89074
15713	* fold-const.c (address_compare): Punt on comparison of address of
15714	one object with address of end of another object if
15715	folding_initializer.
15716
157172022-01-14  Jakub Jelinek  <jakub@redhat.com>
15718
15719	PR target/98737
15720	* tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
15721	__atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
15722	and __atomic_op_fetch (p, x, y) iop x into
15723	__atomic_fetch_op (p, x, y).
15724
157252022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
15726
15727	* config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
15728	(DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
15729	(INCOMING_RETURN_ADDR_RTX): Likewise.
15730	(DWARF_ALT_FRAME_RETURN_COLUMN): Define.
15731
157322022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
15733
15734	* config/arc/arc.c (arc_compute_frame_size): Remove condition when
15735	computin checking accumulator regs.
15736	(arc_expand_prologue): Update comments.
15737	(arc_expand_epilogue): Likewise.
15738
157392022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
15740	    Uroš Bizjak  <ubizjak@gmail.com>
15741
15742	* config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
15743	(ix86_expand_ti_to_v1ti): Use force_reg.
15744	(ix86_expand_v1ti_shift): Use force_reg.
15745	(ix86_expand_v1ti_rotate): Use force_reg.
15746	(ix86_expand_v1ti_ashiftrt): Provide new three operation
15747	implementations for shifts by 111..126 bits.  Use force_reg.
15748
157492022-01-14  Martin Liska  <mliska@suse.cz>
15750
15751	* common/config/arm/arm-common.c (arm_target_mode): Fix
15752	warning: unterminated quoting directive [-Wformat=].
15753
157542022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
15755
15756	PR tree-optimization/104009
15757	* tree-object-size.c (compute_builtin_object_size): Bail out on
15758	negative offset.
15759	(plus_stmt_object_size): Return maximum of wholesize and minimum
15760	of 0 for negative offset.
15761
157622022-01-14  liuhongt  <hongtao.liu@intel.com>
15763
15764	PR target/104001
15765	PR target/94790
15766	PR target/104014
15767	* config/i386/i386.md (*xor2andn): Refine predicate of
15768	operands[0] from nonimmediate_operand to
15769	register_operand, remove TARGET_AVX512BW from condition.
15770
157712022-01-14  David Malcolm  <dmalcolm@redhat.com>
15772
15773	* doc/extend.texi (Function Attributes): Note that "tainted_args" can
15774	be used on field decls.
15775	(Common Function Attributes): Add entry on "tainted_args" attribute.
15776
157772022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
15778	    Jason Merrill  <jason@redhat.com>
15779
15780	PR c++/70417
15781	* doc/invoke.texi: Documentation for Wmissing-template-keyword.
15782
157832022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
15784
15785	PR target/103861
15786	* config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
15787	(*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
15788	* config/i386/mmx.md (<any_shift:insn>v2qi):
15789	New insn_and_split pattern.
15790
157912022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
15792
15793	* internal-fn.c (expand_partial_load_optab_fn): Add bias.
15794	(expand_partial_store_optab_fn): Likewise.
15795	(internal_len_load_store_bias): New function.
15796	* internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
15797	(internal_len_load_store_bias): New function.
15798	* tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
15799	(vect_set_loop_condition_partial_vectors): Add header_seq parameter.
15800	* tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
15801	(vect_estimate_min_profitable_iters): Account for bias.
15802	(vect_get_loop_len): Add bias-adjusted length.
15803	* tree-vect-stmts.c (vectorizable_store): Use.
15804	(vectorizable_load): Use.
15805	* tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
15806	(LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
15807	* config/rs6000/vsx.md: Use const0 bias predicate.
15808	* doc/md.texi: Document bias value.
15809
158102022-01-13  Andrew MacLeod  <amacleod@redhat.com>
15811
15812	PR tree-optimization/83072
15813	PR tree-optimization/83073
15814	PR tree-optimization/97909
15815	* fold-const.c (expr_not_equal_to): Use a multi-range class.
15816
158172022-01-13  Andrew MacLeod  <amacleod@redhat.com>
15818
15819	PR tree-optimization/96707
15820	* range-op.cc (operator_rshift::lhs_op1_relation): New.
15821
158222022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
15823
15824	* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
15825	Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
15826	(negv2qi splitters): Use lowpart_subreg instead of
15827	gen_lowpart to create subreg.
15828	(<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
15829	Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
15830	(<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
15831	gen_lowpart to create subreg.
15832	* config/i386/i386.md (*subqi_ext<mode>_2): Move.
15833
158342022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
15835
15836	PR target/104003
15837	* config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
15838
158392022-01-13  Martin Liska  <mliska@suse.cz>
15840
15841	* common/config/arm/arm-common.c (arm_target_mode): Wrap
15842	keywords with %<, %> and remove trailing punctuation char.
15843	(arm_canon_arch_option_1): Likewise.
15844	(arm_asm_auto_mfpu): Likewise.
15845	* config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
15846	* config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
15847	(use_vfp_abi): Likewise.
15848	(aapcs_vfp_is_call_or_return_candidate): Likewise.
15849	(arm_handle_cmse_nonsecure_entry): Likewise.
15850	(arm_handle_cmse_nonsecure_call): Likewise.
15851	(thumb1_md_asm_adjust): Likewise.
15852
158532022-01-13  Paul A. Clarke  <pc@us.ibm.com>
15854
15855	* config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
15856	_mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
15857	_MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
15858	_MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
15859	_MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
15860	_MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
15861	(_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
15862	_mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
15863	macro.
15864
158652022-01-13  Jakub Jelinek  <jakub@redhat.com>
15866
15867	PR tree-optimization/103989
15868	* tree-inline.c (setup_one_parameter): Don't copy parms with
15869	empty type.
15870
158712022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
15872
15873	* tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
15874	'TYPE_ADDR_SPACE' for offloading.
15875	* tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
15876	'TYPE_ADDR_SPACE' for offloading.
15877
158782022-01-13  Julian Brown  <julian@codesourcery.com>
15879	    Thomas Schwinge  <thomas@codesourcery.com>
15880
15881	* omp-oacc-kernels-decompose.cc (add_wait): New function, split out
15882	of...
15883	(add_async_clauses_and_wait): ...here. Call new outlined function.
15884	(decompose_kernels_region_body): Add wait at the end of
15885	explicitly-asynchronous kernels regions.
15886
158872022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
15888
15889	PR middle-end/100280
15890	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
15891	Mark variables used in synthesized data clauses as addressable.
15892
158932022-01-13  Martin Liska  <mliska@suse.cz>
15894
15895	* config/epiphany/epiphany.c (epiphany_mode_priority):
15896	Use gcc_unreachable for not handled cases.
15897
158982022-01-13  Martin Liska  <mliska@suse.cz>
15899
15900	* config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
15901	Use %qs format specifier.
15902	(epiphany_override_options): Wrap keyword in %<, %>.
15903
159042022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
15905
15906	PR target/94790
15907	* config/i386/i386.md (*xor2andn): New define_insn_and_split.
15908
159092022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
15910
15911	* config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
15912
159132022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
15914
15915	PR target/100637
15916	PR target/103861
15917	* config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
15918	(ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
15919	when constructing vector logic RTXes.
15920	(expand_vec_perm_pshufb2): Ditto.
15921	* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
15922	(<plusminus:insn>v2qi3): Ditto.
15923	(vcond<mode><mode>): Re-enable for TARGET_SSE2.
15924	(vcondu<mode><mode>): Ditto.
15925	(vcond_mask_<mode><mode>): Ditto.
15926	(one_cmpl<VI_32:mode>2): Remove expander.
15927	(one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
15928	Use VI_16_32 mode iterator.
15929	(one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
15930	Use lowpart_subreg instead of gen_lowpart to create subreg.
15931	(*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
15932	"*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
15933	Disparage GPR alternative a bit.  Add CC clobber.
15934	(*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
15935	Use lowpart_subreg instead of gen_lowpart to create subreg.
15936	(*<any_logic:code><VI_16_32:mode>3): Merge from
15937	"*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
15938	using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
15939	Add CC clobber.
15940	(*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
15941	iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
15942
159432022-01-12  Clément Chigot  <clement.chigot@atos.net>
15944
15945	* configure.ac: Check sizeof ino_t and dev_t.
15946	(HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
15947	syscall being able to handle 64bit inodes.
15948	* config.in: Regenerate.
15949	* configure: Regenerate.
15950	* incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
15951	(remove_duplicates): Use it.
15952
159532022-01-12  Andrew MacLeod  <amacleod@redhat.com>
15954
15955	PR tree-optimization/103551
15956	* tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
15957
159582022-01-12  Richard Biener  <rguenther@suse.de>
15959
15960	PR tree-optimization/103990
15961	* tree-pass.h (tail_merge_optimize): Drop unused argument.
15962	* tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
15963	* tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
15964	and adjust call to tail_merge_optimize.
15965
159662022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
15967
15968	* tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
15969	does not add autovectorize_vector_modes.
15970
159712022-01-12  Martin Liska  <mliska@suse.cz>
15972
15973	* config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
15974	%qs where possible.
15975	(aarch64_parse_sve_width_string): Likewise.
15976	(aarch64_override_options_internal): Likewise.
15977	(aarch64_print_hint_for_extensions): Likewise.
15978	(aarch64_validate_sls_mitigation): Likewise.
15979	(aarch64_handle_attr_arch): Likewise.
15980	(aarch64_handle_attr_cpu): Likewise.
15981	(aarch64_handle_attr_tune): Likewise.
15982	(aarch64_handle_attr_isa_flags): Likewise.
15983
159842022-01-12  Martin Liska  <mliska@suse.cz>
15985
15986	* config.gcc: Include elfos.h before ${tm_file}.
15987
159882022-01-12  Hans-Peter Nilsson  <hp@axis.com>
15989
15990	* config/cris/cris.c: Quote identifiers in parameters to error
15991	and internal_error, and remove extraneous spaces with punctuation.
15992	* config/cris/cris.h (CRIS_ASSERT): When passing on stringified
15993	expression to internal_error, pass it as a parameter instead of
15994	appending it to the format part.
15995
159962022-01-12  Hans-Peter Nilsson  <hp@axis.com>
15997
15998	* config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
15999	parameter to as_a.
16000
160012022-01-11  qing zhao  <qing.zhao@oracle.com>
16002
16003	* gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
16004	Change the 3rd argument of function .DEFERRED_INIT to the name of the
16005	decl.
16006	(gimplify_decl_expr): Delete the 3rd argument when call
16007	gimple_add_init_for_auto_var.
16008	* internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
16009	the 3rd argument change of function .DEFERRED_INIT.
16010	* tree-cfg.c (verify_gimple_call): Update comments and verification
16011	to reflect the 3rd argument change of function .DEFERRED_INIT.
16012	* tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
16013	(sra_modify_deferred_init): Change the 3rd argument of function
16014	.DEFERRED_INIT to the name of the decl.
16015
160162022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
16017
16018	* flag-types.h (enum gfc_convert): Add flags for
16019	conversion.
16020
160212022-01-11  Michael Meissner  <meissner@the-meissners.org>
16022
16023	* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
16024	checks for only C/C++ front ends before allowing the long double
16025	format to change without a warning.
16026
160272022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
16028
16029	PR rtl-optimization/103974
16030	* ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
16031	extra argument, default true, that says whether old-reload
16032	targets should be excluded.
16033	* ira-color.c (color_pass): Pass false.
16034
160352022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
16036
16037	PR target/103861
16038	* config/i386/mmx.md (vcond<mode><mode>):
16039	Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
16040	(vcondu<mode><mode>): Ditto.
16041	(vcond_mask_<mode><mode>): Ditto.
16042	(mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
16043	(mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
16044	Use VI_16_32 mode iterator.
16045	* config/i386/i386-expand.c (ix86_expand_sse_movcc):
16046	Update for rename.  Handle V2QImode.
16047	(expand_vec_perm_blend): Update for rename.
16048
160492022-01-11  Jakub Jelinek  <jakub@redhat.com>
16050
16051	PR c++/101597
16052	* tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
16053
160542022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16055
16056	PR middle-end/70090
16057	* tree-object-size.c (size_valid_p): New function.
16058	(size_for_offset): Remove OFFSET constness assertion.
16059	(addr_object_size): Build dynamic expressions for object
16060	sizes and use size_valid_p to decide if it is valid for the
16061	given OBJECT_SIZE_TYPE.
16062	(compute_builtin_object_size): Allow dynamic offsets when
16063	computing size at O0.
16064	(call_object_size): Call size_valid_p.
16065	(plus_stmt_object_size): Allow non-constant offset and use
16066	size_valid_p to decide if it is valid for the given
16067	OBJECT_SIZE_TYPE.
16068
160692022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16070
16071	PR middle-end/70090
16072	* tree-object-size.c (alloc_object_size): Make and return
16073	non-constant size expression.
16074	(call_object_size): Return expression or unknown based on
16075	whether dynamic object size is requested.
16076
160772022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16078
16079	PR middle-end/70090
16080	* tree-object-size.c: Include tree-dfa.h.
16081	(parm_object_size): New function.
16082	(collect_object_sizes_for): Call it.
16083
160842022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16085
16086	PR middle-end/70090
16087	* builtins.c (fold_builtin_object_size): Adjust for dynamic size
16088	expressions.
16089	* tree-object-size.c: Include gimplify-me.h.
16090	(struct object_size_info): New member UNKNOWNS.
16091	(size_initval_p, size_usable_p, object_sizes_get_raw): New
16092	functions.
16093	(object_sizes_get): Return suitable gimple variable for
16094	object size.
16095	(bundle_sizes): New function.
16096	(object_sizes_set): Use it and handle dynamic object size
16097	expressions.
16098	(object_sizes_set_temp): New function.
16099	(size_for_offset): Adjust for dynamic size expressions.
16100	(emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
16101	New functions.
16102	(compute_builtin_object_size): Call gimplify_size_expressions
16103	for OST_DYNAMIC.
16104	(dynamic_object_size): New function.
16105	(cond_expr_object_size): Use it.
16106	(phi_dynamic_object_size): New function.
16107	(collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
16108	accommodate dynamic object sizes.
16109
161102022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
16111	    Jakub Jelinek  <jakub@redhat.com>
16112
16113	PR tree-optimization/103961
16114	* tree-object-size.c (plus_stmt_object_size): Always avoid
16115	computing offset for -1 size.
16116
161172022-01-11  Andrew MacLeod  <amacleod@redhat.com>
16118
16119	PR tree-optimization/103821
16120	* range-op.cc (range_operator::fold_range): Only do precise ranges
16121	when there are not too many subranges.
16122
161232022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
16124
16125	* ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
16126	definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
16127
161282022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
16129	    Richard Biener  <rguenther@suse.de>
16130
16131	* tree-ssa-math-opts.c (struct widen_mul_stats): Add a
16132	highpart_mults_inserted field.
16133	(convert_mult_to_highpart): New function to convert right shift
16134	of a widening multiply into a MULT_HIGHPART_EXPR.
16135	(math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
16136	Call new convert_mult_to_highpart function.
16137	(pass_optimize_widening_mul::execute): Add a statistics counter
16138	for tracking "highpart multiplications inserted" events.
16139
161402022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
16141
16142	PR target/102239
16143	* config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
16144	declare.
16145	* config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
16146	function.
16147	* config/rs6000/rs6000.md (*branch_anddi3_dot): New.
16148
161492022-01-11  Olivier Hainque  <hainque@adacore.com>
16150
16151	* gcc.c (driver_handle_option): State --sysroot as
16152	validated.
16153
161542022-01-11  Kewen Lin  <linkw@linux.ibm.com>
16155
16156	* config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
16157	useless related to option -mno-power10.
16158
161592022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
16160
16161	PR target/53652
16162	* config/i386/sse.md (*andnot<mode>3): Extend predicate of
16163	operands[1] from register_operand to vector_operand.
16164
161652022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
16166
16167	PR target/103861
16168	* config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
16169	Handle V2QImode.
16170	* config/i386/mmx.md (<sat_plusminus:insn><mode>3):
16171	Use VI1_16_32 mode iterator.
16172	(*eq<mode>3): Ditto.
16173	(*gt<mode>3): Ditto.
16174	(*xop_maskcmp<mode>3): Ditto.
16175	(*xop_maskcmp_uns<mode>3): Ditto.
16176	(vec_cmp<mode><mode>): Ditto.
16177	(vec_cmpu<mode><mode>): Ditto.
16178
161792022-01-10  Richard Biener  <rguenther@suse.de>
16180
16181	PR tree-optimization/103948
16182	* tree-vect-generic.c (expand_vector_condition): Return true if
16183	all ones vector is returned for true, all zeros vector for false
16184	and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
16185
161862022-01-10  Paul A. Clarke  <pc@us.ibm.com>
16187
16188	* config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
16189	when _ARCH_PWR10. Use signed types.
16190	(_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
16191	(_mm_blendv_pd): Likewise.
16192
161932022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
16194
16195	* tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
16196	epilogue costing.
16197	* tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
16198	epilogues, unless we are guaranteed that we can't have partial vectors.
16199	* genopinit.c: (partial_vectors_supported): Generate new function.
16200
162012022-01-10  Jakub Jelinek  <jakub@redhat.com>
16202
16203	PR target/102024
16204	* config/i386/i386.c (classify_argument): Add zero_width_bitfields
16205	argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
16206	always ignore them, when seeing other zero sized bitfields, either
16207	set zero_width_bitfields to 1 and ignore it or if equal to 2 process
16208	it.  Pass it to recursive calls.  Add wrapper
16209	with old arguments and diagnose ABI differences for C structures
16210	with zero width bitfields.  Formatting fixes.
16211
162122022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16213
16214	PR rtl-optimization/98782
16215	* ira-int.h (ira_soft_conflict): Declare.
16216	* ira-color.c (max_soft_conflict_loop_depth): New constant.
16217	(ira_soft_conflict): New function.
16218	(spill_soft_conflicts): Likewise.
16219	(assign_hard_reg): Use them to handle the case described by
16220	the comment above ira_soft_conflict.
16221	(improve_allocation): Likewise.
16222	* ira.c (check_allocation): Allow allocnos with "soft" conflicts
16223	to share the same register.
16224
162252022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16226
16227	PR rtl-optimization/98782
16228	* ira-int.h (ira_caller_save_cost): New function.
16229	(ira_caller_save_loop_spill_p): Likewise.
16230	* ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
16231	cheaper to spill a call-clobbered register throughout a loop rather
16232	than spill it around each individual call.  If so, treat all
16233	call-clobbered registers as conflicts and...
16234	(propagate_allocno_info): ...do not propagate call information
16235	from the child to the parent.
16236	* ira-color.c (move_spill_restore): Update accordingly.
16237	* ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
16238
162392022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16240
16241	PR rtl-optimization/98782
16242	* ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
16243	(ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
16244	(ira_single_region_allocno_p): New function.
16245	(ira_total_conflict_hard_regs): Likewise.
16246	* ira-build.c (ira_create_allocno): Initialize
16247	ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
16248	(ira_propagate_hard_reg_costs): New function.
16249	(propagate_allocno_info): Use it.  Try to avoid propagating
16250	hard register conflicts to parent allocnos if we can handle
16251	the conflicts by spilling instead.  Limit the propagated
16252	register costs to the cost of spilling throughout the child loop.
16253	* ira-color.c (color_pass): Use ira_single_region_allocno_p to
16254	test whether a child and parent allocno can share the same
16255	register.
16256	(move_spill_restore): Adjust for the new behavior of
16257	propagate_allocno_info.
16258
162592022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16260
16261	PR rtl-optimization/98782
16262	* ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
16263	extracted from...
16264	* ira-color.c (color_pass): ...here.
16265
162662022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16267
16268	PR rtl-optimization/98782
16269	* ira-color.c (color_pass): Add comments to describe the spill costs.
16270	(move_spill_restore): Likewise.  Fix reversed calculation.
16271
162722022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
16273
16274	PR rtl-optimization/98782
16275	* ira-int.h (ira_loop_border_costs): New class.
16276	* ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
16277	New constructor.
16278	(calculate_allocno_spill_cost): Use ira_loop_border_costs.
16279	(color_pass): Likewise.
16280	(move_spill_restore): Likewise.
16281
162822022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
16283
16284	PR target/103465
16285	* coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
16286
162872022-01-10  Richard Biener  <rguenther@suse.de>
16288
16289	PR tree-optimization/100359
16290	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
16291	Allow non-growing peeling with !allow_peel and UL_ALL.
16292
162932022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
16294
16295	* config/i386/i386-expand.c (ix86_expand_vector_move): Add
16296	special case for TImode to V1TImode moves, going via V2DImode.
16297
162982022-01-08  Jakub Jelinek  <jakub@redhat.com>
16299
16300	PR c++/89074
16301	* match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
16302	simplification.
16303
163042022-01-08  David Malcolm  <dmalcolm@redhat.com>
16305
16306	* doc/analyzer.texi
16307	(Special Functions for Debugging the Analyzer): Document
16308	__analyzer_dump_escaped.
16309
163102022-01-08  David Malcolm  <dmalcolm@redhat.com>
16311
16312	* doc/analyzer.texi (Other Debugging Techniques): Document
16313	region::is_named_decl_p.
16314
163152022-01-07  Andrew Pinski  <apinski@marvell.com>
16316
16317	PR target/102941
16318	* config/arm/aarch-common.c (arm_md_asm_adjust):
16319	Use a temp if !REG_P.
16320
163212022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
16322
16323	* config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
16324	(*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
16325
163262022-01-07  liuhongt  <hongtao.liu@intel.com>
16327
16328	PR rtl-optimization/103750
16329	* fwprop.c (forward_propagate_into): Allow propagations from
16330	inner loop to outer loop.
16331
163322022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
16333
16334	* config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
16335
163362022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
16337
16338	* config/rs6000/rs6000.md (rs6000_mffscrni): Define.
16339	(rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
16340	Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
16341
163422022-01-07  liuhongt  <hongtao.liu@intel.com>
16343
16344	* config/i386/sse.md
16345	(*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
16346	UNSPEC_PCMP_UNSIGNED.
16347
163482022-01-07  liuhongt  <hongtao.liu@intel.com>
16349
16350	PR target/103753
16351	* config/i386/i386-expand.c (ix86_expand_vector_set): Not use
16352	gen_avx2_pblendph_1 when elt == 0.
16353	* config/i386/sse.md (avx2_pblendph): Rename to ..
16354	(avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
16355	(*avx2_pblendw): Rename to ..
16356	(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
16357	(avx2_pblendw): Rename to ..
16358	(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
16359	(blendsuf): Removed.
16360	(sse4_1_pblend<blendsuf>): Renamed to ..
16361	(sse4_1_pblend<ssemodesuffix>): .. this.
16362
163632022-01-06  H.J. Lu  <hjl.tools@gmail.com>
16364
16365	PR target/103925
16366	* config/i386/i386.c (ix86_output_indirect_function_return):
16367	Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
16368
163692022-01-06  H.J. Lu  <hjl.tools@gmail.com>
16370
16371	PR target/102952
16372	* config/i386/i386-opts.h (harden_sls): Replace
16373	harden_sls_indirect_branch with harden_sls_indirect_jmp.
16374	* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
16375	Likewise.
16376	(ix86_output_indirect_jmp): Likewise.
16377	(ix86_output_call_insn): Likewise.
16378	* config/i386/i386.opt: Replace indirect-branch with
16379	indirect-jmp.  Replace harden_sls_indirect_branch with
16380	harden_sls_indirect_jmp.
16381	* doc/invoke.texi (-harden-sls=): Replace indirect-branch with
16382	indirect-jmp.
16383
163842022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
16385
16386	* config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
16387	Add %q modifier for operands in general registers.
16388	<MODE_SI>: Add %q modifier for operands in general registers.
16389	* config/i386/i386.md (*movhi_internal): Change type attribute of
16390	xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
16391	to SImode for non-avx512fp16 targets.
16392	(*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
16393	* config/i386/mmx.md (*movv2qi_internal):
16394	Ditto for xmm-gpr interunit alternatives 8,9.
16395
163962022-01-06  Kito Cheng  <kito.cheng@sifive.com>
16397
16398	* common/config/riscv/riscv-common.c (riscv_implied_info): Add
16399	vector extensions.
16400	(riscv_ext_version_table): Add version info for vector extensions.
16401	(riscv_ext_flag_table): Add option mask for vector extensions.
16402	* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
16403	(MASK_VECTOR_EEW_64): New.
16404	(MASK_VECTOR_EEW_FP_32): New.
16405	(MASK_VECTOR_EEW_FP_64): New.
16406	(MASK_ZVL32B): New.
16407	(MASK_ZVL64B): New.
16408	(MASK_ZVL128B): New.
16409	(MASK_ZVL256B): New.
16410	(MASK_ZVL512B): New.
16411	(MASK_ZVL1024B): New.
16412	(MASK_ZVL2048B): New.
16413	(MASK_ZVL4096B): New.
16414	(MASK_ZVL8192B): New.
16415	(MASK_ZVL16384B): New.
16416	(MASK_ZVL32768B): New.
16417	(MASK_ZVL65536B): New.
16418	(TARGET_ZVL32B): New.
16419	(TARGET_ZVL64B): New.
16420	(TARGET_ZVL128B): New.
16421	(TARGET_ZVL256B): New.
16422	(TARGET_ZVL512B): New.
16423	(TARGET_ZVL1024B): New.
16424	(TARGET_ZVL2048B): New.
16425	(TARGET_ZVL4096B): New.
16426	(TARGET_ZVL8192B): New.
16427	(TARGET_ZVL16384B): New.
16428	(TARGET_ZVL32768B): New.
16429	(TARGET_ZVL65536B): New.
16430	* config/riscv/riscv.opt (Mask(VECTOR)): New.
16431	(riscv_vector_eew_flags): New.
16432	(riscv_zvl_flags): New.
16433
164342022-01-06  Kito Cheng  <kito.cheng@sifive.com>
16435
16436	* common/config/riscv/riscv-common.c
16437	(riscv_subset_list::parse_multiletter_ext): Allow ext. name has
16438	digit.
16439
164402022-01-06  Jakub Jelinek  <jakub@redhat.com>
16441
16442	PR tree-optimization/103899
16443	* expr.c (expand_expr_real_1): Add a workaround for bogus uninit
16444	warning by moving context variable to the only spot where it is used
16445	and moving gcc_assert into if body.
16446
164472022-01-06  Jakub Jelinek  <jakub@redhat.com>
16448
16449	PR rtl-optimization/103908
16450	* ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
16451	asm goto.
16452
164532022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
16454
16455	PR target/103622
16456	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
16457	Skip over instances with undefined function types.
16458
164592022-01-05  Andrew Pinski  <apinski@marvell.com>
16460
16461	PR target/103910
16462	* config/i386/i386.h (x86_mfence): Mark with GTY.
16463
164642022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
16465
16466	PR target/103861
16467	* config/i386/mmx.md (VI_16_32): New mode iterator.
16468	(VI1_16_32): Ditto.
16469	(mmxvecsize): Handle V2QI mode.
16470	(<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
16471	Use VI1_16_32 mode iterator.
16472	(<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
16473	Use VI1_16_32 mode iterator.
16474	(abs<mode>2): Use VI_16_32 mode iterator.
16475	(uavgv2qi3_ceil): New insn pattern.
16476
164772022-01-05  Martin Sebor  <msebor@redhat.com>
16478
16479	* gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
16480	%qs to avoid -Wformat-diag.
16481
164822022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
16483
16484	PR target/103915
16485	* config/i386/mmx.md (one_cmplv2qi2): Change
16486	alternatives 1,2 type from sselog to sselog1.
16487
164882022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
16489
16490	PR target/103905
16491	* config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
16492	narrow mode remapped elements for !one_operand_p case.
16493
164942022-01-05  Richard Biener  <rguenther@suse.de>
16495
16496	PR tree-optimization/103816
16497	* tree-vect-data-refs.c (vect_analyze_group_access_1): Also
16498	check DR_GROUP_GAP compute for overflow and representability.
16499
165002022-01-05  Jakub Jelinek  <jakub@redhat.com>
16501
16502	PR fortran/103691
16503	* gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
16504	for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
16505	it can do unwanted rhs folding like &a[0] into &2.0 etc.
16506
165072022-01-05  Kewen Lin  <linkw@linux.ibm.com>
16508
16509	PR ipa/102059
16510	* config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
16511	(TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
16512	(rs6000_need_ipa_fn_target_info): New function.
16513	(rs6000_update_ipa_fn_target_info): Likewise.
16514	(rs6000_can_inline_p): Adjust for ipa function summary target info.
16515	* config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
16516	* ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
16517	summary target info.
16518	(analyze_function_body): Adjust for ipa function summary target info
16519	and call hook rs6000_need_ipa_fn_target_info and
16520	rs6000_update_ipa_fn_target_info.
16521	(ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
16522	target info.
16523	(inline_read_section): Likewise.
16524	(ipa_fn_summary_write): Likewise.
16525	* ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
16526	* doc/tm.texi: Regenerate.
16527	* doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
16528	(TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
16529	* target.def (update_ipa_fn_target_info): New hook.
16530	(need_ipa_fn_target_info): Likewise.
16531	* targhooks.c (default_need_ipa_fn_target_info): New function.
16532	(default_update_ipa_fn_target_info): Likewise.
16533	* targhooks.h (default_update_ipa_fn_target_info): New declare.
16534	(default_need_ipa_fn_target_info): Likewise.
16535
165362022-01-04  Martin Sebor  <msebor@redhat.com>
16537
16538	PR middle-end/99612
16539	* builtins.c (get_memmodel): Move warning code to
16540	gimple-ssa-warn-access.cc.
16541	(expand_builtin_atomic_compare_exchange): Same.
16542	(expand_ifn_atomic_compare_exchange): Same.
16543	(expand_builtin_atomic_load): Same.
16544	(expand_builtin_atomic_store): Same.
16545	(expand_builtin_atomic_clear): Same.
16546	* doc/extend.texi (__atomic_exchange_n): Update valid memory
16547	models.
16548	* gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
16549	(struct memmodel_pair): New struct.
16550	(memmodel_name): New function.
16551	(pass_waccess::maybe_warn_memmodel): New function.
16552	(pass_waccess::check_atomic_memmodel): New function.
16553	(pass_waccess::check_atomic_builtin): Handle memory model.
16554	* input.c (expansion_point_location_if_in_system_header): Return
16555	original location if expansion location is in a system header.
16556
165572022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
16558
16559	PR target/103861
16560	* config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
16561	(one_cmplv2qi3 splitters): New post-reload splitters.
16562	(*andnotv2qi3): New insn pattern.
16563	(andnotv2qi3 splitters): New post-reload splitters.
16564	(<any_logic:code>v2qi3): New insn pattern.
16565	(<any_logic:insn>v2qi3 splitters): New post-reload splitters.
16566
165672022-01-04  Richard Biener  <rguenther@suse.de>
16568
16569	PR tree-optimization/103800
16570	* tree-vect-loop.c (vectorizable_phi): Remove assert and
16571	expand comment.
16572
165732022-01-04  Richard Biener  <rguenther@suse.de>
16574
16575	PR tree-optimization/103690
16576	* tree-pass.h (tail_merge_optimize): Adjust.
16577	* tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
16578	to re-split critical edges, move CFG cleanup ...
16579	* tree-ssa-pre.c (pass_pre::execute): ... here, before
16580	simple_dce_from_worklist and delay freeing inserted_exprs from
16581	...
16582	(fini_pre): .. here.
16583
165842022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
16585
16586	* config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
16587	* config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
16588	(setcc_from_bi): Remove SImode specific pattern.
16589	(setcc<mode>_from_bi): Provide more general HSDIM pattern.
16590	(extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
16591	for sign- and zero-extending BImode predicates to integers.
16592	(setcc_int<mode>): Remove previous (-1-based) instructions.
16593	(cstorebi4): Remove BImode to SImode specific expander.
16594	(cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
16595	(cstore<mode>4): For both integer and floating point modes.
16596
165972022-01-04  Olivier Hainque  <hainque@adacore.com>
16598
16599	* gcc.c (driver_handle_option): do_save --sysroot.
16600
166012022-01-04  Richard Biener  <rguenther@suse.de>
16602
16603	PR tree-optimization/103864
16604	PR tree-optimization/103544
16605	* tree-vect-slp.c (vect_analyze_slp_instance): Exclude
16606	reductions wrapped in conversions from SLP handling.
16607	(vect_analyze_slp): Revert PR103544 change.
16608
166092022-01-04  Jakub Jelinek  <jakub@redhat.com>
16610
16611	PR rtl-optimization/103860
16612	* shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
16613	uselessly for blocks for which it has been called already.
16614
166152022-01-04  Cui,Lili  <lili.cui@intel.com>
16616
16617	* common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
16618	to Alderlake and Rocketlake.
16619
166202022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
16621
16622	PR middle-end/103643
16623	* gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
16624	OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
16625
166262022-01-04  liuhongt  <hongtao.liu@intel.com>
16627
16628	PR target/103895
16629	* config/i386/sse.md (*bit_and_float_vector_all_ones):
16630	Force_reg operand 1 to avoid ICE.
16631
166322022-01-04  Jason Merrill  <jason@redhat.com>
16633
16634	* tree-pretty-print.c (do_niy): Add spc parameter.
16635	(NIY): Pass it.
16636	(print_call_name): Add spc local variable.
16637
166382022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
16639
16640	PR target/103894
16641	* config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
16642	(mov<V_32:mode>_internal): Ditto.
16643	(*push<V_32:mode>_rex64): Ditto.
16644	(movmisalign<V_32:mode>): Ditto.
16645	(*push<V_32:mode>_rex64 splitter): Enable for
16646	TARGET_64BIT && TARGET_SSE.
16647	(*push<V_32:mode>2): Remove insn pattern.
16648
166492022-01-03  Andrew Pinski  <apinski@marvell.com>
16650
16651	PR c/33193
16652	* doc/extend.texi: Extend the documentation about Complex
16653	types for casting and also rewrite the __real__/__imag__
16654	expression portion to use tables.
16655	Move __builtin_complex to the Complex type section.
16656
166572022-01-03  Jakub Jelinek  <jakub@redhat.com>
16658
16659	PR target/98737
16660	* internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
16661	ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
16662	New internal fns.
16663	* internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
16664	ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
16665	ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
16666	* internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
16667	expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
16668	expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
16669	functions.
16670	* optabs.def (atomic_add_fetch_cmp_0_optab,
16671	atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
16672	atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
16673	direct optabs.
16674	* builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
16675	* builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
16676	* tree-ssa-ccp.c: Include internal-fn.h.
16677	(optimize_atomic_bit_test_and): Add . before internal fn call
16678	in function comment.  Change return type from void to bool and
16679	return true only if successfully replaced.
16680	(optimize_atomic_op_fetch_cmp_0): New function.
16681	(pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
16682	for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
16683	BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
16684	for *XOR* ones only if optimize_atomic_bit_test_and failed.
16685	* config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
16686	atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
16687	(atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
16688	atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
16689	* doc/md.texi (atomic_add_fetch_cmp_0<mode>,
16690	atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
16691	atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
16692	new named patterns.
16693
166942022-01-03  Richard Biener  <rguenther@suse.de>
16695
16696	PR middle-end/103851
16697	* tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
16698
166992022-01-03  Jakub Jelinek  <jakub@redhat.com>
16700
16701	PR c++/94716
16702	* symtab.c: Include fold-const.h.
16703	(symtab_node::equal_address_to): If folding_initializer is true,
16704	handle it like memory_accessed.  Simplify.
16705
167062022-01-03  Martin Liska  <mliska@suse.cz>
16707
16708	* doc/extend.texi: Use ; for function declarations.
16709
167102022-01-03  Jakub Jelinek  <jakub@redhat.com>
16711
16712	PR c++/103600
16713	* symtab.c (symtab_node::equal_address_to): Return 0 if one of
16714	VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
16715
167162022-01-03  Jakub Jelinek  <jakub@redhat.com>
16717
16718	* gcc.c (process_command): Update copyright notice dates.
16719	* gcov-dump.c (print_version): Ditto.
16720	* gcov.c (print_version): Ditto.
16721	* gcov-tool.c (print_version): Ditto.
16722	* gengtype.c (create_file): Ditto.
16723	* doc/cpp.texi: Bump @copying's copyright year.
16724	* doc/cppinternals.texi: Ditto.
16725	* doc/gcc.texi: Ditto.
16726	* doc/gccint.texi: Ditto.
16727	* doc/gcov.texi: Ditto.
16728	* doc/install.texi: Ditto.
16729	* doc/invoke.texi: Ditto.
16730
167312022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
16732
16733	PR target/103861
16734	* config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
16735	(VALID_INT_MODE_P): Ditto.
16736	* config/i386/i386.c (ix86_secondary_reload): Handle
16737	V2QImode reloads from SSE register to memory.
16738	(vector_mode_supported_p): Always return true for V2QImode.
16739	* config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
16740	(*negqi_ext<mode>_2): Ditto.
16741	* config/i386/mmx.md (movv2qi): New expander.
16742	(movmisalignv2qi): Ditto.
16743	(*movv2qi_internal): New insn pattern.
16744	(*pushv2qi2): Ditto.
16745	(negv2qi2 and splitters): Ditto.
16746	(<plusminus:insn>v2qi3 and splitters): Ditto.
16747
167482022-01-02  John David Anglin  <danglin@gcc.gnu.org>
16749
16750	* config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
16751	sync_lock_test_and_set libfunc. Call convert_memory_address to
16752	convert memory address to Pmode.
16753	(atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
16754
16755
16756Copyright (C) 2022 Free Software Foundation, Inc.
16757
16758Copying and distribution of this file, with or without modification,
16759are permitted in any medium without royalty provided the copyright
16760notice and this notice are preserved.
16761