d: Add test for PR d/108167 to the testsuite [PR108167]
[official-gcc.git] / gcc / ChangeLog
blobbc9bdff964cfbad1a1ed5b4b4b42da0003414079
1 2023-03-02  Jakub Jelinek  <jakub@redhat.com>
3         PR target/108883
4         * target.h (emit_support_tinfos_callback): New typedef.
5         * targhooks.h (default_emit_support_tinfos): Declare.
6         * targhooks.cc (default_emit_support_tinfos): New function.
7         * target.def (emit_support_tinfos): New target hook.
8         * doc/tm.texi.in (emit_support_tinfos): Document it.
9         * doc/tm.texi: Regenerated.
10         * config/i386/i386.cc (ix86_emit_support_tinfos): New function.
11         (TARGET_EMIT_SUPPORT_TINFOS): Redefine.
13 2023-03-02  Vladimir N. Makarov  <vmakarov@redhat.com>
15         * ira-costs.cc: Include print-rtl.h.
16         (record_reg_classes, scan_one_insn): Add code to print debug info.
17         (record_operand_costs): Find and use smaller cost for hard reg
18         move.
20 2023-03-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
21             Paul-Antoine Arras  <pa@codesourcery.com>
23         * builtins.cc (mathfn_built_in_explicit): New.
24         * config/gcn/gcn.cc: Include case-cfn-macros.h.
25         (mathfn_built_in_explicit): Add prototype.
26         (gcn_vectorize_builtin_vectorized_function): New.
27         (gcn_libc_has_function): New.
28         (TARGET_LIBC_HAS_FUNCTION): Define.
29         (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define.
31 2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
33         PR tree-optimization/108979
34         * tree-vect-stmts.cc (vectorizable_operation): Don't mask
35         operations on invariants.
37 2023-03-02  Robin Dapp  <rdapp@linux.ibm.com>
39         * config/s390/predicates.md (vll_bias_operand): Add -1 bias.
40         * config/s390/s390.cc (s390_option_override_internal): Make
41         partial vector usage the default from z13 on.
42         * config/s390/vector.md (len_load_v16qi): Add.
43         (len_store_v16qi): Add.
45 2023-03-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
47         * simplify-rtx.cc (simplify_context::simplify_subreg): Use byte instead
48         of constant 0 offset.
50 2023-03-02  Robert Suchanek  <robert.suchanek@imgtec.com>
52         * config/mips/mips.cc (mips_set_text_contents_type): Use HOST_WIDE_INT
53         instead of long.
54         * config/mips/mips-protos.h (mips_set_text_contents_type): Likewise.
56 2023-03-02  Junxian Zhu  <zhujunxian@oss.cipunited.com>
58         * config.gcc: add -with-{no-}msa build option.
59         * config/mips/mips.h: Likewise.
60         * doc/install.texi: Likewise.
62 2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
64         PR tree-optimization/108603
65         * explow.cc (convert_memory_address_addr_space_1): Only wrap
66         the result of a recursive call in a CONST if no instructions
67         were emitted.
69 2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
71         PR tree-optimization/108430
72         * tree-vect-stmts.cc (vectorizable_condition): Fix handling
73         of inverted condition.
75 2023-03-02  Jakub Jelinek  <jakub@redhat.com>
77         PR c++/108934
78         * fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
79         comparison copy the bytes from ptr to a temporary buffer and clearing
80         padding bits in there.
82 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
84         PR middle-end/108545
85         * gimplify.cc (struct tree_operand_hash_no_se): New.
86         (omp_index_mapping_groups_1, omp_index_mapping_groups,
87         omp_reindex_mapping_groups, omp_mapped_by_containing_struct,
88         omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
89         oacc_resolve_clause_dependencies, omp_build_struct_sibling_lists,
90         gimplify_scan_omp_clauses): Use tree_operand_hash_no_se instead
91         of tree_operand_hash.
93 2023-03-01  LIU Hao  <lh_mouse@126.com>
95         PR pch/14940
96         * config/i386/host-mingw32.cc (mingw32_gt_pch_get_address):
97         Remove the size limit `pch_VA_max_size`
99 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
101         PR middle-end/108546
102         * omp-low.cc (lower_omp_target): Remove optional handling
103         on the receiver side, i.e. inside target (data), for
104         use_device_ptr.
106 2023-03-01  Jakub Jelinek  <jakub@redhat.com>
108         PR debug/108967
109         * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
110         and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.
112 2023-03-01  Richard Biener  <rguenther@suse.de>
114         PR tree-optimization/108970
115         * tree-vect-loop-manip.cc (slpeel_can_duplicate_loop_p):
116         Check we can copy the BBs.
117         (slpeel_tree_duplicate_loop_to_edge_cfg): Avoid redundant
118         check.
119         (vect_do_peeling): Streamline error handling.
121 2023-03-01  Richard Biener  <rguenther@suse.de>
123         PR tree-optimization/108950
124         * tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
125         Check oprnd0 is defined in the loop.
126         * tree-vect-loop.cc (vectorizable_reduction): Record all
127         operands vector types, compute that of invariants and
128         properly update their SLP nodes.
130 2023-03-01  Kewen Lin  <linkw@linux.ibm.com>
132         PR target/108240
133         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Allow
134         implicit powerpc64 setting to be unset if 64 bit is enabled implicitly.
136 2023-02-28  Qing Zhao  <qing.zhao@oracle.com>
138         PR middle-end/107411
139         PR middle-end/107411
140         * gimplify.cc (gimple_add_init_for_auto_var): Use sprintf to replace
141         xasprintf.
142         * tree-ssa-uninit.cc (warn_uninit): Handle the case when the
143         LHS varaible of a .DEFERRED_INIT call doesn't have a DECL_NAME.
145 2023-02-28  Jakub Jelinek  <jakub@redhat.com>
147         PR sanitizer/108894
148         * ubsan.cc (ubsan_expand_bounds_ifn): Emit index >= bound
149         comparison rather than index > bound.
150         * gimple-fold.cc (gimple_fold_call): Use tree_int_cst_lt
151         rather than tree_int_cst_le for IFN_UBSAN_BOUND comparison.
152         * doc/invoke.texi (-fsanitize=bounds): Document that whether
153         flexible array member-like arrays are instrumented or not depends
154         on -fstrict-flex-arrays* options of strict_flex_array attributes.
155         (-fsanitize=bounds-strict): Document that flexible array members
156         are not instrumented.
158 2023-02-27  Uroš Bizjak  <ubizjak@gmail.com>
160         PR target/108922
161         Revert:
162         * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
163         (fmod<mode>3): Ditto.
164         (fpremxf4_i387): Ditto.
165         (reminderxf3): Ditto.
166         (reminder<mode>3): Ditto.
167         (fprem1xf4_i387): Ditto.
169 2023-02-27  Roger Sayle  <roger@nextmovesoftware.com>
171         * simplify-rtx.cc (simplify_unary_operation_1) <case FFS>: Avoid
172         generating FFS with mismatched operand and result modes, by using
173         an explicit SIGN_EXTEND/ZERO_EXTEND.
174         <case POPCOUNT>: Likewise, for POPCOUNT of ZERO_EXTEND.
175         <case PARITY>: Likewise, for PARITY of {ZERO,SIGN}_EXTEND.
177 2023-02-27  Patrick Palka  <ppalka@redhat.com>
179         * hash-table.h (gt_pch_nx(hash_table<D>)): Remove static.
180         * lra-int.h (lra_change_class): Likewise.
181         * recog.h (which_op_alt): Likewise.
182         * sel-sched-ir.h (sel_bb_empty_or_nop_p): Declare inline
183         instead of static.
185 2023-02-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
187         * config/xtensa/xtensa-protos.h (xtensa_match_CLAMPS_imms_p):
188         New prototype.
189         * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p):
190         New function.
191         * config/xtensa/xtensa.h (TARGET_CLAMPS): New macro definition.
192         * config/xtensa/xtensa.md (*xtensa_clamps): New insn pattern.
194 2023-02-27  Max Filippov  <jcmvbkbc@gmail.com>
196         * config/xtensa/xtensa-dynconfig.cc (xtensa_get_config_v2)
197         (xtensa_get_config_v3): New functions.
199 2023-02-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
201         * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): Fix typo in comment.
203 2023-02-27  Lulu Cheng  <chenglulu@loongson.cn>
205         * config/host-linux.cc (TRY_EMPTY_VM_SPACE): Modify the value of
206         the macro to 0x1000000000.
208 2023-02-25  Gaius Mulley  <gaiusmod2@gmail.com>
210         PR modula2/108261
211         * doc/gm2.texi (-fm2-pathname): New option documented.
212         (-fm2-pathnameI): New option documented.
213         (-fm2-prefix=): New option documented.
214         (-fruntime-modules=): Update default module list.
216 2023-02-25  Max Filippov  <jcmvbkbc@gmail.com>
218         PR target/108919
219         * config/xtensa/xtensa-protos.h
220         (xtensa_prepare_expand_call): Rename to xtensa_expand_call.
221         * config/xtensa/xtensa.cc (xtensa_prepare_expand_call): Rename
222         to xtensa_expand_call.
223         (xtensa_expand_call): Emit the call and add a clobber expression
224         for the static chain to it in case of windowed ABI.
225         * config/xtensa/xtensa.md (call, call_value, sibcall)
226         (sibcall_value): Call xtensa_expand_call and complete expansion
227         right after that call.
229 2023-02-24  Richard Biener  <rguenther@suse.de>
231         * vec.h (vec<T, A, vl_embed>::m_vecdata): Remove.
232         (vec<T, A, vl_embed>::m_vecpfx): Align as T to avoid
233         changing alignment of vec<T, A, vl_embed> and simplifying
234         address.
235         (vec<T, A, vl_embed>::address): Compute as this + 1.
236         (vec<T, A, vl_embed>::embedded_size): Use sizeof the
237         vector instead of the offset of the m_vecdata member.
238         (auto_vec<T, N>::m_data): Turn storage into
239         uninitialized unsigned char.
240         (auto_vec<T, N>::auto_vec): Allow allocation of one
241         stack member.  Initialize m_vec in a special way to
242         avoid later stringop overflow diagnostics.
243         * vec.cc (test_auto_alias): New.
244         (vec_cc_tests): Call it.
246 2023-02-24  Richard Biener  <rguenther@suse.de>
248         * vec.h (vec<T, A, vl_embed>::lower_bound): Adjust to
249         take a const reference to the object, use address to
250         access data.
251         (vec<T, A, vl_embed>::contains): Use address to access data.
252         (vec<T, A, vl_embed>::operator[]): Use address instead of
253         m_vecdata to access data.
254         (vec<T, A, vl_embed>::iterate): Likewise.
255         (vec<T, A, vl_embed>::copy): Likewise.
256         (vec<T, A, vl_embed>::quick_push): Likewise.
257         (vec<T, A, vl_embed>::pop): Likewise.
258         (vec<T, A, vl_embed>::quick_insert): Likewise.
259         (vec<T, A, vl_embed>::ordered_remove): Likewise.
260         (vec<T, A, vl_embed>::unordered_remove): Likewise.
261         (vec<T, A, vl_embed>::block_remove): Likewise.
262         (vec<T, A, vl_heap>::address): Likewise.
264 2023-02-24  Martin Liska  <mliska@suse.cz>
266         PR sanitizer/108834
267         * asan.cc (asan_add_global): Use proper TU name for normal
268         global variables (and aux_base_name for the artificial one).
270 2023-02-24  Jakub Jelinek  <jakub@redhat.com>
272         * config/i386/i386-builtin.def: Update description of BDESC
273         and BDESC_FIRST in file comment to include mask2.
275 2023-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
277         * config/aarch64/aarch64-cores.def (FLAGS): Update comment.
279 2023-02-24  Jakub Jelinek  <jakub@redhat.com>
281         PR middle-end/108854
282         * cgraphclones.cc (duplicate_thunk_for_node): If no parameter
283         changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
284         nodes and adjust their DECL_CONTEXT.
286 2023-02-24  Jakub Jelinek  <jakub@redhat.com>
288         PR target/108881
289         * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16bf,
290         __builtin_ia32_cvtne2ps2bf16_v16bf_mask,
291         __builtin_ia32_cvtne2ps2bf16_v16bf_maskz,
292         __builtin_ia32_cvtne2ps2bf16_v8bf,
293         __builtin_ia32_cvtne2ps2bf16_v8bf_mask,
294         __builtin_ia32_cvtne2ps2bf16_v8bf_maskz,
295         __builtin_ia32_cvtneps2bf16_v8sf_mask,
296         __builtin_ia32_cvtneps2bf16_v8sf_maskz,
297         __builtin_ia32_cvtneps2bf16_v4sf_mask,
298         __builtin_ia32_cvtneps2bf16_v4sf_maskz,
299         __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
300         __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
301         __builtin_ia32_dpbf16ps_v4sf_mask,
302         __builtin_ia32_dpbf16ps_v4sf_maskz): Require also
303         OPTION_MASK_ISA_AVX512VL.
305 2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
307         * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
308         Add non-compact 32-bit multilibs.
310 2023-02-24  Junxian Zhu  <zhujunxian@oss.cipunited.com>
312         * config/mips/mips.md (*clo<mode>2): New pattern.
314 2023-02-24  Prachi Godbole  <prachi.godbole@imgtec.com>
316         * config/mips/mips.h (machine_function): New variable
317         use_hazard_barrier_return_p.
318         * config/mips/mips.md (UNSPEC_JRHB): New unspec.
319         (mips_hb_return_internal): New insn pattern.
320         * config/mips/mips.cc (mips_attribute_table): Add attribute
321         use_hazard_barrier_return.
322         (mips_use_hazard_barrier_return_p): New static function.
323         (mips_function_attr_inlinable_p): Likewise.
324         (mips_compute_frame_info): Set use_hazard_barrier_return_p.
325         Emit error for unsupported architecture choice.
326         (mips_function_ok_for_sibcall, mips_can_use_return_insn):
327         Return false for use_hazard_barrier_return.
328         (mips_expand_epilogue): Emit hazard barrier return.
329         * doc/extend.texi: Document use_hazard_barrier_return.
331 2023-02-23  Max Filippov  <jcmvbkbc@gmail.com>
333         * config/xtensa/xtensa-dynconfig.cc (config.h, system.h)
334         (coretypes.h, diagnostic.h, intl.h): Use "..." instead of <...>
335         for the gcc-internal headers.
337 2023-02-23  Max Filippov  <jcmvbkbc@gmail.com>
339         * config/xtensa/t-xtensa (xtensa-dynconfig.o): Use $(COMPILE)
340         and $(POSTCOMPILE) instead of manual dependency listing.
341         * config/xtensa/xtensa-dynconfig.c: Rename to ...
342         * config/xtensa/xtensa-dynconfig.cc: ... this.
344 2023-02-23  Arsen Arsenović  <arsen@aarsen.me>
346         * doc/cfg.texi: Reorder index entries around @items.
347         * doc/cpp.texi: Ditto.
348         * doc/cppenv.texi: Ditto.
349         * doc/cppopts.texi: Ditto.
350         * doc/generic.texi: Ditto.
351         * doc/install.texi: Ditto.
352         * doc/extend.texi: Ditto.
353         * doc/invoke.texi: Ditto.
354         * doc/md.texi: Ditto.
355         * doc/rtl.texi: Ditto.
356         * doc/tm.texi.in: Ditto.
357         * doc/trouble.texi: Ditto.
358         * doc/tm.texi: Regenerate.
360 2023-02-23  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
362         * config/xtensa/xtensa.md: New peephole2 pattern that eliminates
363         the occurrence of general-purpose register used only once and for
364         transferring intermediate value.
366 2023-02-23  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
368         * config/xtensa/xtensa.cc (machine_function): Add new member
369         'eliminated_callee_saved_bmp'.
370         (xtensa_can_eliminate_callee_saved_reg_p): New function to
371         determine whether the register can be eliminated or not.
372         (xtensa_expand_prologue): Add invoking the above function and
373         elimination the use of callee-saved register by using its stack
374         slot through the stack pointer (or the frame pointer if needed)
375         directly.
376         (xtensa_expand_prologue): Modify to not emit register restoration
377         insn from its stack slot if the register is already eliminated.
379 2023-02-23  Jakub Jelinek  <jakub@redhat.com>
381         PR translation/108890
382         * config/xtensa/xtensa-dynconfig.c (xtensa_load_config): Drop _()s
383         around fatal_error format strings.
385 2023-02-23  Richard Biener  <rguenther@suse.de>
387         * tree-ssa-structalias.cc (handle_lhs_call): Do not
388         re-create rhsc, only truncate it.
390 2023-02-23  Jakub Jelinek  <jakub@redhat.com>
392         PR middle-end/106258
393         * ipa-prop.cc (try_make_edge_direct_virtual_call): Handle
394         BUILT_IN_UNREACHABLE_TRAP like BUILT_IN_UNREACHABLE.
396 2023-02-23  Richard Biener  <rguenther@suse.de>
398         * tree-if-conv.cc (tree_if_conversion): Properly manage
399         memory of refs and the contained data references.
401 2023-02-23  Richard Biener  <rguenther@suse.de>
403         PR tree-optimization/108888
404         * tree-if-conv.cc (if_convertible_stmt_p): Set PLF_2 on
405         calls to predicate.
406         (predicate_statements): Only predicate calls with PLF_2.
408 2023-02-23  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
410         * config/xtensa/xtensa.md
411         (zero_cost_loop_start, zero_cost_loop_end, loop_end):
412         Add missing "SI:" to PLUS RTXes.
414 2023-02-23  Max Filippov  <jcmvbkbc@gmail.com>
416         PR target/108876
417         * config/xtensa/xtensa.cc (xtensa_expand_epilogue):
418         Emit (use (reg:SI A0_REG)) at the end in the sibling call
419         (i.e. the same place as (return) in the normal call).
421 2023-02-23  Max Filippov  <jcmvbkbc@gmail.com>
423         Revert:
424         2023-02-21  Max Filippov  <jcmvbkbc@gmail.com>
426         PR target/108876
427         * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use
428         for A0_REG.
429         * config/xtensa/xtensa.md (sibcall, sibcall_internal)
430         (sibcall_value, sibcall_value_internal): Add 'use' expression
431         for A0_REG.
433 2023-02-23  Arsen Arsenović  <arsen@aarsen.me>
435         * doc/cppdiropts.texi: Reorder @opindex commands to precede
436         @items they relate to.
437         * doc/cppopts.texi: Ditto.
438         * doc/cppwarnopts.texi: Ditto.
439         * doc/invoke.texi: Ditto.
440         * doc/lto.texi: Ditto.
442 2023-02-22  Andrew Stubbs  <ams@codesourcery.com>
444         * internal-fn.cc (expand_MASK_CALL): New.
445         * internal-fn.def (MASK_CALL): New.
446         * internal-fn.h (expand_MASK_CALL): New prototype.
447         * omp-simd-clone.cc (simd_clone_adjust_argument_types): Set vector_type
448         for mask arguments also.
449         * tree-if-conv.cc: Include cgraph.h.
450         (if_convertible_stmt_p): Do if conversions for calls to SIMD calls.
451         (predicate_statements): Convert functions to IFN_MASK_CALL.
452         * tree-vect-loop.cc (vect_get_datarefs_in_loop): Recognise
453         IFN_MASK_CALL as a SIMD function call.
454         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle
455         IFN_MASK_CALL as an inbranch SIMD function call.
456         Generate the mask vector arguments.
458 2023-02-22  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
460         * config/riscv/riscv-vector-builtins-bases.cc (class reducop): New class.
461         (class widen_reducop): Ditto.
462         (class freducop): Ditto.
463         (class widen_freducop): Ditto.
464         (BASE): Ditto.
465         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
466         * config/riscv/riscv-vector-builtins-functions.def (vredsum): Add reduction support.
467         (vredmaxu): Ditto.
468         (vredmax): Ditto.
469         (vredminu): Ditto.
470         (vredmin): Ditto.
471         (vredand): Ditto.
472         (vredor): Ditto.
473         (vredxor): Ditto.
474         (vwredsum): Ditto.
475         (vwredsumu): Ditto.
476         (vfredusum): Ditto.
477         (vfredosum): Ditto.
478         (vfredmax): Ditto.
479         (vfredmin): Ditto.
480         (vfwredosum): Ditto.
481         (vfwredusum): Ditto.
482         * config/riscv/riscv-vector-builtins-shapes.cc (struct reduc_alu_def): Ditto.
483         (SHAPE): Ditto.
484         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
485         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WI_OPS): New macro.
486         (DEF_RVV_WU_OPS): Ditto.
487         (DEF_RVV_WF_OPS): Ditto.
488         (vint8mf8_t): Ditto.
489         (vint8mf4_t): Ditto.
490         (vint8mf2_t): Ditto.
491         (vint8m1_t): Ditto.
492         (vint8m2_t): Ditto.
493         (vint8m4_t): Ditto.
494         (vint8m8_t): Ditto.
495         (vint16mf4_t): Ditto.
496         (vint16mf2_t): Ditto.
497         (vint16m1_t): Ditto.
498         (vint16m2_t): Ditto.
499         (vint16m4_t): Ditto.
500         (vint16m8_t): Ditto.
501         (vint32mf2_t): Ditto.
502         (vint32m1_t): Ditto.
503         (vint32m2_t): Ditto.
504         (vint32m4_t): Ditto.
505         (vint32m8_t): Ditto.
506         (vuint8mf8_t): Ditto.
507         (vuint8mf4_t): Ditto.
508         (vuint8mf2_t): Ditto.
509         (vuint8m1_t): Ditto.
510         (vuint8m2_t): Ditto.
511         (vuint8m4_t): Ditto.
512         (vuint8m8_t): Ditto.
513         (vuint16mf4_t): Ditto.
514         (vuint16mf2_t): Ditto.
515         (vuint16m1_t): Ditto.
516         (vuint16m2_t): Ditto.
517         (vuint16m4_t): Ditto.
518         (vuint16m8_t): Ditto.
519         (vuint32mf2_t): Ditto.
520         (vuint32m1_t): Ditto.
521         (vuint32m2_t): Ditto.
522         (vuint32m4_t): Ditto.
523         (vuint32m8_t): Ditto.
524         (vfloat32mf2_t): Ditto.
525         (vfloat32m1_t): Ditto.
526         (vfloat32m2_t): Ditto.
527         (vfloat32m4_t): Ditto.
528         (vfloat32m8_t): Ditto.
529         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WI_OPS): Ditto.
530         (DEF_RVV_WU_OPS): Ditto.
531         (DEF_RVV_WF_OPS): Ditto.
532         (required_extensions_p): Add reduction support.
533         (rvv_arg_type_info::get_base_vector_type): Ditto.
534         (rvv_arg_type_info::get_tree_type): Ditto.
535         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto.
536         * config/riscv/riscv.md: Ditto.
537         * config/riscv/vector-iterators.md (minu): Ditto.
538         * config/riscv/vector.md (@pred_reduc_<reduc><mode><vlmul1>): New patern.
539         (@pred_reduc_<reduc><mode><vlmul1_zve32>): Ditto.
540         (@pred_widen_reduc_plus<v_su><mode><vwlmul1>): Ditto.
541         (@pred_widen_reduc_plus<v_su><mode><vwlmul1_zve32>):Ditto.
542         (@pred_reduc_plus<order><mode><vlmul1>): Ditto.
543         (@pred_reduc_plus<order><mode><vlmul1_zve32>): Ditto.
544         (@pred_widen_reduc_plus<order><mode><vwlmul1>): Ditto.
546 2023-02-22  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
548         * config/riscv/iterators.md: New iterator.
549         * config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New class.
550         (enum ternop_type): New enum.
551         (class vmacc): New class.
552         (class imac): Ditto.
553         (class vnmsac): Ditto.
554         (enum widen_ternop_type): New enum.
555         (class vmadd): Ditto.
556         (class vnmsub): Ditto.
557         (class iwmac): Ditto.
558         (class vwmacc): Ditto.
559         (class vwmaccu): Ditto.
560         (class vwmaccsu): Ditto.
561         (class vwmaccus): Ditto.
562         (class reverse_binop): Ditto.
563         (class vfmacc): Ditto.
564         (class vfnmsac): Ditto.
565         (class vfmadd): Ditto.
566         (class vfnmsub): Ditto.
567         (class vfnmacc): Ditto.
568         (class vfmsac): Ditto.
569         (class vfnmadd): Ditto.
570         (class vfmsub): Ditto.
571         (class vfwmacc): Ditto.
572         (class vfwnmacc): Ditto.
573         (class vfwmsac): Ditto.
574         (class vfwnmsac): Ditto.
575         (class float_misc): Ditto.
576         (class fcmp): Ditto.
577         (class vfclass): Ditto.
578         (class vfcvt_x): Ditto.
579         (class vfcvt_rtz_x): Ditto.
580         (class vfcvt_f): Ditto.
581         (class vfwcvt_x): Ditto.
582         (class vfwcvt_rtz_x): Ditto.
583         (class vfwcvt_f): Ditto.
584         (class vfncvt_x): Ditto.
585         (class vfncvt_rtz_x): Ditto.
586         (class vfncvt_f): Ditto.
587         (class vfncvt_rod_f): Ditto.
588         (BASE): Ditto.
589         * config/riscv/riscv-vector-builtins-bases.h:
590         * config/riscv/riscv-vector-builtins-functions.def (vzext): Ditto.
591         (vsext): Ditto.
592         (vfadd): Ditto.
593         (vfsub): Ditto.
594         (vfrsub): Ditto.
595         (vfwadd): Ditto.
596         (vfwsub): Ditto.
597         (vfmul): Ditto.
598         (vfdiv): Ditto.
599         (vfrdiv): Ditto.
600         (vfwmul): Ditto.
601         (vfmacc): Ditto.
602         (vfnmsac): Ditto.
603         (vfmadd): Ditto.
604         (vfnmsub): Ditto.
605         (vfnmacc): Ditto.
606         (vfmsac): Ditto.
607         (vfnmadd): Ditto.
608         (vfmsub): Ditto.
609         (vfwmacc): Ditto.
610         (vfwnmacc): Ditto.
611         (vfwmsac): Ditto.
612         (vfwnmsac): Ditto.
613         (vfsqrt): Ditto.
614         (vfrsqrt7): Ditto.
615         (vfrec7): Ditto.
616         (vfmin): Ditto.
617         (vfmax): Ditto.
618         (vfsgnj): Ditto.
619         (vfsgnjn): Ditto.
620         (vfsgnjx): Ditto.
621         (vfneg): Ditto.
622         (vfabs): Ditto.
623         (vmfeq): Ditto.
624         (vmfne): Ditto.
625         (vmflt): Ditto.
626         (vmfle): Ditto.
627         (vmfgt): Ditto.
628         (vmfge): Ditto.
629         (vfclass): Ditto.
630         (vfmerge): Ditto.
631         (vfmv_v): Ditto.
632         (vfcvt_x): Ditto.
633         (vfcvt_xu): Ditto.
634         (vfcvt_rtz_x): Ditto.
635         (vfcvt_rtz_xu): Ditto.
636         (vfcvt_f): Ditto.
637         (vfwcvt_x): Ditto.
638         (vfwcvt_xu): Ditto.
639         (vfwcvt_rtz_x): Ditto.
640         (vfwcvt_rtz_xu): Ditto.
641         (vfwcvt_f): Ditto.
642         (vfncvt_x): Ditto.
643         (vfncvt_xu): Ditto.
644         (vfncvt_rtz_x): Ditto.
645         (vfncvt_rtz_xu): Ditto.
646         (vfncvt_f): Ditto.
647         (vfncvt_rod_f): Ditto.
648         * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto.
649         (struct move_def): Ditto.
650         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTF_OPS): New macro.
651         (DEF_RVV_CONVERT_I_OPS): Ditto.
652         (DEF_RVV_CONVERT_U_OPS): Ditto.
653         (DEF_RVV_WCONVERT_I_OPS): Ditto.
654         (DEF_RVV_WCONVERT_U_OPS): Ditto.
655         (DEF_RVV_WCONVERT_F_OPS): Ditto.
656         (vfloat64m1_t): Ditto.
657         (vfloat64m2_t): Ditto.
658         (vfloat64m4_t): Ditto.
659         (vfloat64m8_t): Ditto.
660         (vint32mf2_t): Ditto.
661         (vint32m1_t): Ditto.
662         (vint32m2_t): Ditto.
663         (vint32m4_t): Ditto.
664         (vint32m8_t): Ditto.
665         (vint64m1_t): Ditto.
666         (vint64m2_t): Ditto.
667         (vint64m4_t): Ditto.
668         (vint64m8_t): Ditto.
669         (vuint32mf2_t): Ditto.
670         (vuint32m1_t): Ditto.
671         (vuint32m2_t): Ditto.
672         (vuint32m4_t): Ditto.
673         (vuint32m8_t): Ditto.
674         (vuint64m1_t): Ditto.
675         (vuint64m2_t): Ditto.
676         (vuint64m4_t): Ditto.
677         (vuint64m8_t): Ditto.
678         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_CONVERT_I_OPS): Ditto.
679         (DEF_RVV_CONVERT_U_OPS): Ditto.
680         (DEF_RVV_WCONVERT_I_OPS): Ditto.
681         (DEF_RVV_WCONVERT_U_OPS): Ditto.
682         (DEF_RVV_WCONVERT_F_OPS): Ditto.
683         (DEF_RVV_F_OPS): Ditto.
684         (DEF_RVV_WEXTF_OPS): Ditto.
685         (required_extensions_p): Adjust for floating-point support.
686         (check_required_extensions): Ditto.
687         (unsigned_base_type_p): Ditto.
688         (get_mode_for_bitsize): Ditto.
689         (rvv_arg_type_info::get_base_vector_type): Ditto.
690         (rvv_arg_type_info::get_tree_type): Ditto.
691         * config/riscv/riscv-vector-builtins.def (v_f): New define.
692         (f): New define.
693         (f_v): New define.
694         (xu_v): New define.
695         (f_w): New define.
696         (xu_w): New define.
697         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): New enum.
698         (function_expander::arg_mode): New function.
699         * config/riscv/vector-iterators.md (sof): New iterator.
700         (vfrecp): Ditto.
701         (copysign): Ditto.
702         (n): Ditto.
703         (msac): Ditto.
704         (msub): Ditto.
705         (fixuns_trunc): Ditto.
706         (floatuns): Ditto.
707         * config/riscv/vector.md (@pred_broadcast<mode>): New pattern.
708         (@pred_<optab><mode>): Ditto.
709         (@pred_<optab><mode>_scalar): Ditto.
710         (@pred_<optab><mode>_reverse_scalar): Ditto.
711         (@pred_<copysign><mode>): Ditto.
712         (@pred_<copysign><mode>_scalar): Ditto.
713         (@pred_mul_<optab><mode>): Ditto.
714         (pred_mul_<optab><mode>_undef_merge): Ditto.
715         (*pred_<madd_nmsub><mode>): Ditto.
716         (*pred_<macc_nmsac><mode>): Ditto.
717         (*pred_mul_<optab><mode>): Ditto.
718         (@pred_mul_<optab><mode>_scalar): Ditto.
719         (*pred_mul_<optab><mode>_undef_merge_scalar): Ditto.
720         (*pred_<madd_nmsub><mode>_scalar): Ditto.
721         (*pred_<macc_nmsac><mode>_scalar): Ditto.
722         (*pred_mul_<optab><mode>_scalar): Ditto.
723         (@pred_neg_mul_<optab><mode>): Ditto.
724         (pred_neg_mul_<optab><mode>_undef_merge): Ditto.
725         (*pred_<nmadd_msub><mode>): Ditto.
726         (*pred_<nmacc_msac><mode>): Ditto.
727         (*pred_neg_mul_<optab><mode>): Ditto.
728         (@pred_neg_mul_<optab><mode>_scalar): Ditto.
729         (*pred_neg_mul_<optab><mode>_undef_merge_scalar): Ditto.
730         (*pred_<nmadd_msub><mode>_scalar): Ditto.
731         (*pred_<nmacc_msac><mode>_scalar): Ditto.
732         (*pred_neg_mul_<optab><mode>_scalar): Ditto.
733         (@pred_<misc_op><mode>): Ditto.
734         (@pred_class<mode>): Ditto.
735         (@pred_dual_widen_<optab><mode>): Ditto.
736         (@pred_dual_widen_<optab><mode>_scalar): Ditto.
737         (@pred_single_widen_<plus_minus:optab><mode>): Ditto.
738         (@pred_single_widen_<plus_minus:optab><mode>_scalar): Ditto.
739         (@pred_widen_mul_<optab><mode>): Ditto.
740         (@pred_widen_mul_<optab><mode>_scalar): Ditto.
741         (@pred_widen_neg_mul_<optab><mode>): Ditto.
742         (@pred_widen_neg_mul_<optab><mode>_scalar): Ditto.
743         (@pred_cmp<mode>): Ditto.
744         (*pred_cmp<mode>): Ditto.
745         (*pred_cmp<mode>_narrow): Ditto.
746         (@pred_cmp<mode>_scalar): Ditto.
747         (*pred_cmp<mode>_scalar): Ditto.
748         (*pred_cmp<mode>_scalar_narrow): Ditto.
749         (@pred_eqne<mode>_scalar): Ditto.
750         (*pred_eqne<mode>_scalar): Ditto.
751         (*pred_eqne<mode>_scalar_narrow): Ditto.
752         (@pred_merge<mode>_scalar): Ditto.
753         (@pred_fcvt_x<v_su>_f<mode>): Ditto.
754         (@pred_<fix_cvt><mode>): Ditto.
755         (@pred_<float_cvt><mode>): Ditto.
756         (@pred_widen_fcvt_x<v_su>_f<mode>): Ditto.
757         (@pred_widen_<fix_cvt><mode>): Ditto.
758         (@pred_widen_<float_cvt><mode>): Ditto.
759         (@pred_extend<mode>): Ditto.
760         (@pred_narrow_fcvt_x<v_su>_f<mode>): Ditto.
761         (@pred_narrow_<fix_cvt><mode>): Ditto.
762         (@pred_narrow_<float_cvt><mode>): Ditto.
763         (@pred_trunc<mode>): Ditto.
764         (@pred_rod_trunc<mode>): Ditto.
766 2023-02-22  Jakub Jelinek  <jakub@redhat.com>
768         PR middle-end/106258
769         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee,
770         cgraph_update_edges_for_call_stmt_node, cgraph_node::verify_node):
771         Handle BUILT_IN_UNREACHABLE_TRAP like BUILT_IN_UNREACHABLE.
772         * cgraphclones.cc (cgraph_node::create_clone): Likewise.
774 2023-02-22  Thomas Schwinge  <thomas@codesourcery.com>
776         * common.opt (-Wcomplain-wrong-lang): New.
777         * doc/invoke.texi (-Wno-complain-wrong-lang): Document it.
778         * opts-common.cc (prune_options): Handle it.
779         * opts-global.cc (complain_wrong_lang): Use it.
781 2023-02-21  David Malcolm  <dmalcolm@redhat.com>
783         PR analyzer/108830
784         * doc/invoke.texi: Document -fno-analyzer-suppress-followups.
786 2023-02-21  Max Filippov  <jcmvbkbc@gmail.com>
788         PR target/108876
789         * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use
790         for A0_REG.
791         * config/xtensa/xtensa.md (sibcall, sibcall_internal)
792         (sibcall_value, sibcall_value_internal): Add 'use' expression
793         for A0_REG.
795 2023-02-21  Richard Biener  <rguenther@suse.de>
797         PR tree-optimization/108691
798         * tree-ssa-dce.cc (eliminate_unnecessary_stmts): Remove
799         assert about calls_setjmp not becoming true when it was false.
801 2023-02-21  Richard Biener  <rguenther@suse.de>
803         PR tree-optimization/108793
804         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
805         Use convert operands to niter_type when computing num.
807 2023-02-21  Richard Biener  <rguenther@suse.de>
809         Revert:
810         2023-02-13  Richard Biener  <rguenther@suse.de>
812         PR tree-optimization/108691
813         * tree-cfg.cc (notice_special_calls): When the CFG is built
814         honor gimple_call_ctrl_altering_p.
815         * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp
816         temporarily if the call is not control-altering.
817         * calls.cc (emit_call_1): Do not add REG_SETJMP if
818         cfun->calls_setjmp is not set.  Do not alter cfun->calls_setjmp.
820 2023-02-21  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
822         * config/xtensa/xtensa.cc (xtensa_call_save_reg): Change to return
823         true if register A0 (return address register) when -Og is specified.
825 2023-02-20  Uroš Bizjak  <ubizjak@gmail.com>
827         * config/i386/predicates.md
828         (general_x64constmem_operand): New predicate.
829         * config/i386/i386.md (*cmpqi_ext<mode>_1):
830         Use nonimm_x64constmem_operand.
831         (*cmpqi_ext<mode>_3): Use general_x64constmem_operand.
832         (*addqi_ext<mode>_1): Ditto.
833         (*testqi_ext<mode>_1): Ditto.
834         (*andqi_ext<mode>_1): Ditto.
835         (*andqi_ext<mode>_1_cc): Ditto.
836         (*<any_or:code>qi_ext<mode>_1): Ditto.
837         (*xorqi_ext<mode>_1_cc): Ditto.
839 2023-02-20  Jakub Jelinek  <jakub2redhat.com>
841         PR target/108862
842         * config/rs6000/rs6000.md (umaddditi4): Swap gen_maddlddi4 with
843         gen_umadddi4_highpart{,_le}.
845 2023-02-20  Kito Cheng  <kito.cheng@sifive.com>
847         * config/riscv/riscv.md (prefetch): Use r instead of p for the
848         address operand.
849         (riscv_prefetchi_<mode>): Ditto.
851 2023-02-20  Richard Biener  <rguenther@suse.de>
853         PR tree-optimization/108816
854         * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
855         versioning condition split prerequesite, assert required
856         invariant.
858 2023-02-20  Richard Biener  <rguenther@suse.de>
860         PR tree-optimization/108825
861         * tree-ssa-loop-manip.cc (verify_loop_closed_ssa): For
862         loop-local verfication only verify there's no pending SSA
863         update.
865 2023-02-20  Richard Biener  <rguenther@suse.de>
867         PR tree-optimization/108819
868         * tree-ssa-loop-niter.cc (number_of_iterations_cltz): Check
869         we have an SSA name as iv_2 as expected.
871 2023-02-18  Jakub Jelinek  <jakub@redhat.com>
873         PR tree-optimization/108819
874         * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.
876 2023-02-18  Jakub Jelinek  <jakub@redhat.com>
878         PR target/108832
879         * config/i386/i386-protos.h (ix86_replace_reg_with_reg): Declare.
880         * config/i386/i386-expand.cc (ix86_replace_reg_with_reg): New
881         function.
882         * config/i386/i386.md: Replace replace_rtx calls in all peephole2s
883         with ix86_replace_reg_with_reg.
885 2023-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
887         * doc/invoke.texi (AVR Options): Update link to AVR-LibC.
889 2023-02-18  Xi Ruoyao  <xry111@xry111.site>
891         * config.gcc (triplet_abi): Set its value based on $with_abi,
892         instead of $target.
893         (la_canonical_triplet): Set it after $triplet_abi is set
894         correctly.
895         * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
896         multiarch tuple for lp64d "loongarch64-linux-gnu" (without
897         "f64" suffix).
899 2023-02-18  Andrew Pinski  <apinski@marvell.com>
901         * match.pd: Remove #if GIMPLE around the
902         "1 - a" pattern
904 2023-02-18  Andrew Pinski  <apinski@marvell.com>
906         * value-query.h (get_range_query): Return the global ranges
907         for a nullptr func.
909 2023-02-17  Siddhesh Poyarekar  <siddhesh@gotplt.org>
911         * doc/invoke.texi (@item -Wall): Fix typo in
912         -Wuse-after-free.
914 2023-02-17  Uroš Bizjak  <ubizjak@gmail.com>
916         PR target/108831
917         * config/i386/predicates.md
918         (nonimm_x64constmem_operand): New predicate.
919         * config/i386/i386.md (*addqi_ext<mode>_0): New insn pattern.
920         (*subqi_ext<mode>_0): Ditto.
921         (*andqi_ext<mode>_0): Ditto.
922         (*<any_or:code>qi_ext<mode>_0): Ditto.
924 2023-02-17  Uroš Bizjak  <ubizjak@gmail.com>
926         PR target/108805
927         * simplify-rtx.cc (simplify_context::simplify_subreg): Use
928         int_outermode instead of GET_MODE (tem) to prevent
929         VOIDmode from entering simplify_gen_subreg.
931 2023-02-17  Richard Biener  <rguenther@suse.de>
933         PR tree-optimization/108821
934         * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
935         move volatile accesses.
937 2023-02-17  Richard Biener  <rguenther@suse.de>
939         * tree-ssa.cc (ssa_undefined_value_p): Assert we are not
940         called on virtual operands.
941         * tree-ssa-sccvn.cc (vn_phi_lookup): Guard
942         ssa_undefined_value_p calls.
943         (vn_phi_insert): Likewise.
944         (set_ssa_val_to): Likewise.
945         (visit_phi): Avoid extra work with equivalences for
946         virtual operand PHIs.
948 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
950         * config/riscv/riscv-vector-builtins-bases.cc (class mask_logic): New
951         class.
952         (class mask_nlogic): Ditto.
953         (class mask_notlogic): Ditto.
954         (class vmmv): Ditto.
955         (class vmclr): Ditto.
956         (class vmset): Ditto.
957         (class vmnot): Ditto.
958         (class vcpop): Ditto.
959         (class vfirst): Ditto.
960         (class mask_misc): Ditto.
961         (class viota): Ditto.
962         (class vid): Ditto.
963         (BASE): Ditto.
964         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
965         * config/riscv/riscv-vector-builtins-functions.def (vmand): Ditto.
966         (vmnand): Ditto.
967         (vmandn): Ditto.
968         (vmxor): Ditto.
969         (vmor): Ditto.
970         (vmnor): Ditto.
971         (vmorn): Ditto.
972         (vmxnor): Ditto.
973         (vmmv): Ditto.
974         (vmclr): Ditto.
975         (vmset): Ditto.
976         (vmnot): Ditto.
977         (vcpop): Ditto.
978         (vfirst): Ditto.
979         (vmsbf): Ditto.
980         (vmsif): Ditto.
981         (vmsof): Ditto.
982         (viota): Ditto.
983         (vid): Ditto.
984         * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto.
985         (struct mask_alu_def): Ditto.
986         (SHAPE): Ditto.
987         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
988         * config/riscv/riscv-vector-builtins.cc: Ditto.
989         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_insns): Fix bug
990         for dest it scalar RVV intrinsics.
991         * config/riscv/vector-iterators.md (sof): New iterator.
992         * config/riscv/vector.md (@pred_<optab>n<mode>): New pattern.
993         (@pred_<optab>not<mode>): New pattern.
994         (@pred_popcount<VB:mode><P:mode>): New pattern.
995         (@pred_ffs<VB:mode><P:mode>): New pattern.
996         (@pred_<misc_op><mode>): New pattern.
997         (@pred_iota<mode>): New pattern.
998         (@pred_series<mode>): New pattern.
1000 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1002         * config/riscv/riscv-vector-builtins-functions.def (vadc): Rename.
1003         (vsbc): Ditto.
1004         (vmerge): Ditto.
1005         (vmv_v): Ditto.
1006         * config/riscv/riscv-vector-builtins.cc: Ditto.
1008 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1009             kito-cheng  <kito.cheng@sifive.com>
1011         * config/riscv/riscv-protos.h (sew64_scalar_helper): New function.
1012         * config/riscv/riscv-v.cc (has_vi_variant_p): Adjust.
1013         (sew64_scalar_helper): New function.
1014         * config/riscv/vector.md: Normalization.
1016 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1018         * config/riscv/riscv-vector-builtins-functions.def (vsetvlmax): Rearrange.
1019         (vsm): Ditto.
1020         (vsse): Ditto.
1021         (vsoxei64): Ditto.
1022         (vsub): Ditto.
1023         (vand): Ditto.
1024         (vor): Ditto.
1025         (vxor): Ditto.
1026         (vsll): Ditto.
1027         (vsra): Ditto.
1028         (vsrl): Ditto.
1029         (vmin): Ditto.
1030         (vmax): Ditto.
1031         (vminu): Ditto.
1032         (vmaxu): Ditto.
1033         (vmul): Ditto.
1034         (vmulh): Ditto.
1035         (vmulhu): Ditto.
1036         (vmulhsu): Ditto.
1037         (vdiv): Ditto.
1038         (vrem): Ditto.
1039         (vdivu): Ditto.
1040         (vremu): Ditto.
1041         (vnot): Ditto.
1042         (vsext): Ditto.
1043         (vzext): Ditto.
1044         (vwadd): Ditto.
1045         (vwsub): Ditto.
1046         (vwmul): Ditto.
1047         (vwmulu): Ditto.
1048         (vwmulsu): Ditto.
1049         (vwaddu): Ditto.
1050         (vwsubu): Ditto.
1051         (vsbc): Ditto.
1052         (vmsbc): Ditto.
1053         (vnsra): Ditto.
1054         (vmerge): Ditto.
1055         (vmv_v): Ditto.
1056         (vmsne): Ditto.
1057         (vmslt): Ditto.
1058         (vmsgt): Ditto.
1059         (vmsle): Ditto.
1060         (vmsge): Ditto.
1061         (vmsltu): Ditto.
1062         (vmsgtu): Ditto.
1063         (vmsleu): Ditto.
1064         (vmsgeu): Ditto.
1065         (vnmsac): Ditto.
1066         (vmadd): Ditto.
1067         (vnmsub): Ditto.
1068         (vwmacc): Ditto.
1069         (vsadd): Ditto.
1070         (vssub): Ditto.
1071         (vssubu): Ditto.
1072         (vaadd): Ditto.
1073         (vasub): Ditto.
1074         (vasubu): Ditto.
1075         (vsmul): Ditto.
1076         (vssra): Ditto.
1077         (vssrl): Ditto.
1078         (vnclip): Ditto.
1080 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1082         * config/riscv/vector.md (@pred_<optab><mode>): Rearrange.
1083         (@pred_<optab><mode>_scalar): Ditto.
1084         (*pred_<optab><mode>_scalar): Ditto.
1085         (*pred_<optab><mode>_extended_scalar): Ditto.
1087 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1089         * config/riscv/riscv-protos.h (riscv_run_selftests): Remove 'extern'.
1090         (init_builtins): Ditto.
1091         (mangle_builtin_type): Ditto.
1092         (verify_type_context): Ditto.
1093         (handle_pragma_vector):  Ditto.
1094         (builtin_decl): Ditto.
1095         (expand_builtin): Ditto.
1096         (const_vec_all_same_in_range_p): Ditto.
1097         (legitimize_move): Ditto.
1098         (emit_vlmax_op): Ditto.
1099         (emit_nonvlmax_op): Ditto.
1100         (get_vlmul): Ditto.
1101         (get_ratio): Ditto.
1102         (get_ta): Ditto.
1103         (get_ma): Ditto.
1104         (get_avl_type): Ditto.
1105         (calculate_ratio): Ditto.
1106         (enum vlmul_type): Ditto.
1107         (simm5_p): Ditto.
1108         (neg_simm5_p): Ditto.
1109         (has_vi_variant_p): Ditto.
1111 2023-02-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1113         * config/riscv/riscv-protos.h (simm32_p): Remove.
1114         * config/riscv/riscv-v.cc (simm32_p): Ditto.
1115         * config/riscv/vector.md: Use immediate_operand
1116         instead of riscv_vector::simm32_p.
1118 2023-02-16  Gerald Pfeifer  <gerald@pfeifer.com>
1120         * doc/invoke.texi (Optimize Options): Reword the explanation
1121         getting minimal, maximal and default values of a parameter.
1123 2023-02-16  Patrick Palka  <ppalka@redhat.com>
1125         * addresses.h: Mechanically drop 'static' from 'static inline'
1126         functions via s/^static inline/inline/g.
1127         * asan.h: Likewise.
1128         * attribs.h: Likewise.
1129         * basic-block.h: Likewise.
1130         * bitmap.h: Likewise.
1131         * cfghooks.h: Likewise.
1132         * cfgloop.h: Likewise.
1133         * cgraph.h: Likewise.
1134         * cselib.h: Likewise.
1135         * data-streamer.h: Likewise.
1136         * debug.h: Likewise.
1137         * df.h: Likewise.
1138         * diagnostic.h: Likewise.
1139         * dominance.h: Likewise.
1140         * dumpfile.h: Likewise.
1141         * emit-rtl.h: Likewise.
1142         * except.h: Likewise.
1143         * expmed.h: Likewise.
1144         * expr.h: Likewise.
1145         * fixed-value.h: Likewise.
1146         * gengtype.h: Likewise.
1147         * gimple-expr.h: Likewise.
1148         * gimple-iterator.h: Likewise.
1149         * gimple-predict.h: Likewise.
1150         * gimple-range-fold.h: Likewise.
1151         * gimple-ssa.h: Likewise.
1152         * gimple.h: Likewise.
1153         * graphite.h: Likewise.
1154         * hard-reg-set.h: Likewise.
1155         * hash-map.h: Likewise.
1156         * hash-set.h: Likewise.
1157         * hash-table.h: Likewise.
1158         * hwint.h: Likewise.
1159         * input.h: Likewise.
1160         * insn-addr.h: Likewise.
1161         * internal-fn.h: Likewise.
1162         * ipa-fnsummary.h: Likewise.
1163         * ipa-icf-gimple.h: Likewise.
1164         * ipa-inline.h: Likewise.
1165         * ipa-modref.h: Likewise.
1166         * ipa-prop.h: Likewise.
1167         * ira-int.h: Likewise.
1168         * ira.h: Likewise.
1169         * lra-int.h: Likewise.
1170         * lra.h: Likewise.
1171         * lto-streamer.h: Likewise.
1172         * memmodel.h: Likewise.
1173         * omp-general.h: Likewise.
1174         * optabs-query.h: Likewise.
1175         * optabs.h: Likewise.
1176         * plugin.h: Likewise.
1177         * pretty-print.h: Likewise.
1178         * range.h: Likewise.
1179         * read-md.h: Likewise.
1180         * recog.h: Likewise.
1181         * regs.h: Likewise.
1182         * rtl-iter.h: Likewise.
1183         * rtl.h: Likewise.
1184         * sbitmap.h: Likewise.
1185         * sched-int.h: Likewise.
1186         * sel-sched-ir.h: Likewise.
1187         * sese.h: Likewise.
1188         * sparseset.h: Likewise.
1189         * ssa-iterators.h: Likewise.
1190         * system.h: Likewise.
1191         * target-globals.h: Likewise.
1192         * target.h: Likewise.
1193         * timevar.h: Likewise.
1194         * tree-chrec.h: Likewise.
1195         * tree-data-ref.h: Likewise.
1196         * tree-iterator.h: Likewise.
1197         * tree-outof-ssa.h: Likewise.
1198         * tree-phinodes.h: Likewise.
1199         * tree-scalar-evolution.h: Likewise.
1200         * tree-sra.h: Likewise.
1201         * tree-ssa-alias.h: Likewise.
1202         * tree-ssa-live.h: Likewise.
1203         * tree-ssa-loop-manip.h: Likewise.
1204         * tree-ssa-loop.h: Likewise.
1205         * tree-ssa-operands.h: Likewise.
1206         * tree-ssa-propagate.h: Likewise.
1207         * tree-ssa-sccvn.h: Likewise.
1208         * tree-ssa.h: Likewise.
1209         * tree-ssanames.h: Likewise.
1210         * tree-streamer.h: Likewise.
1211         * tree-switch-conversion.h: Likewise.
1212         * tree-vectorizer.h: Likewise.
1213         * tree.h: Likewise.
1214         * wide-int.h: Likewise.
1216 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1218         PR tree-optimization/108657
1219         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): If lhs of stmt
1220         exists and is not a SSA_NAME, call ao_ref_init even if the stmt
1221         is a call to internal or builtin function.
1223 2023-02-16  Jonathan Wakely  <jwakely@redhat.com>
1225         * doc/invoke.texi (C++ Dialect Options): Suggest adding a
1226         using-declaration to unhide functions.
1228 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1230         PR tree-optimization/108783
1231         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): If lcode
1232         is equal to TREE_CODE (t), op1 to newop1 and op2 to newop2, set
1233         t to curr->op.  Otherwise, punt if either newop1 or newop2 are
1234         SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs.
1236 2023-02-16  Richard Biener  <rguenther@suse.de>
1238         PR tree-optimization/108791
1239         * tree-ssa-forwprop.cc (optimize_vector_load): Build
1240         the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
1241         type.
1243 2023-02-15  Eric Botcazou  <ebotcazou@adacore.com>
1245         PR target/90458
1246         * config/i386/i386.cc (ix86_compute_frame_layout): Disable the
1247         effects of -fstack-clash-protection for TARGET_STACK_PROBE.
1248         (ix86_expand_prologue): Likewise.
1250 2023-02-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
1252         * config/bpf/bpf.cc (bpf_option_override): Fix doubled space.
1254 2023-02-15  Uroš Bizjak  <ubizjak@gmail.com>
1256         * config/i386/i386.md (*cmpqi_ext<mode>_1): Use
1257         int248_register_operand predicate in zero_extract sub-RTX.
1258         (*cmpqi_ext<mode>_2): Ditto.
1259         (*cmpqi_ext<mode>_3): Ditto.
1260         (*cmpqi_ext<mode>_4): Ditto.
1261         (*extzvqi_mem_rex64): Ditto.
1262         (*extzvqi): Ditto.
1263         (*insvqi_1_mem_rex64): Ditto.
1264         (@insv<mode>_1): Ditto.
1265         (*insvqi_1): Ditto.
1266         (*insvqi_2): Ditto.
1267         (*insvqi_3): Ditto.
1268         (*extendqi<SWI24:mode>_ext_1): Ditto.
1269         (*addqi_ext<mode>_1): Ditto.
1270         (*addqi_ext<mode>_2): Ditto.
1271         (*subqi_ext<mode>_2): Ditto.
1272         (*testqi_ext<mode>_1): Ditto.
1273         (*testqi_ext<mode>_2): Ditto.
1274         (*andqi_ext<mode>_1): Ditto.
1275         (*andqi_ext<mode>_1_cc): Ditto.
1276         (*andqi_ext<mode>_2): Ditto.
1277         (*<any_or:code>qi_ext<mode>_1): Ditto.
1278         (*<any_or:code>qi_ext<mode>_2): Ditto.
1279         (*xorqi_ext<mode>_1_cc): Ditto.
1280         (*negqi_ext<mode>_2): Ditto.
1281         (*ashlqi_ext<mode>_2): Ditto.
1282         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
1284 2023-02-15  Uroš Bizjak  <ubizjak@gmail.com>
1286         * config/i386/predicates.md (int248_register_operand):
1287         Rename from extr_register_operand.
1288         * config/i386/i386.md (*extv<mode>): Update for renamed predicate.
1289         (*extzx<mode>): Ditto.
1290         (*ashl<dwi>3_doubleword_mask): Use int248_register_operand predicate.
1291         (*ashl<mode>3_mask): Ditto.
1292         (*<any_shiftrt:insn><mode>3_mask): Ditto.
1293         (*<any_shiftrt:insn><dwi>3_doubleword_mask): Ditto.
1294         (*<any_rotate:insn><mode>3_mask): Ditto.
1295         (*<btsc><mode>_mask): Ditto.
1296         (*btr<mode>_mask): Ditto.
1297         (*jcc_bt<mode>_mask_1): Ditto.
1299 2023-02-15  Richard Biener  <rguenther@suse.de>
1301         PR middle-end/26854
1302         * df-core.cc (df_worklist_propagate_forward): Put later
1303         blocks on worklist and only earlier blocks on pending.
1304         (df_worklist_propagate_backward): Likewise.
1305         (df_worklist_dataflow_doublequeue): Change the iteration
1306         to process new blocks in the same iteration if that
1307         maintains the iteration order.
1309 2023-02-15  Marek Polacek  <polacek@redhat.com>
1311         PR middle-end/106080
1312         * gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
1313         instead.
1315 2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1317         * config/riscv/predicates.md: Refine codes.
1318         * config/riscv/riscv-protos.h (RVV_VUNDEF): New macro.
1319         * config/riscv/riscv-v.cc: Refine codes.
1320         * config/riscv/riscv-vector-builtins-bases.cc (enum ternop_type): New
1321         enum.
1322         (class imac): New class.
1323         (enum widen_ternop_type): New enum.
1324         (class iwmac): New class.
1325         (BASE): New class.
1326         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1327         * config/riscv/riscv-vector-builtins-functions.def (vmacc): Ditto.
1328         (vnmsac): Ditto.
1329         (vmadd): Ditto.
1330         (vnmsub): Ditto.
1331         (vwmacc): Ditto.
1332         (vwmaccu): Ditto.
1333         (vwmaccsu): Ditto.
1334         (vwmaccus): Ditto.
1335         * config/riscv/riscv-vector-builtins.cc
1336         (function_builder::apply_predication): Adjust for multiply-add support.
1337         (function_expander::add_vundef_operand): Refine codes.
1338         (function_expander::use_ternop_insn): New function.
1339         (function_expander::use_widen_ternop_insn): Ditto.
1340         * config/riscv/riscv-vector-builtins.h: New function.
1341         * config/riscv/vector.md (@pred_mul_<optab><mode>): New pattern.
1342         (pred_mul_<optab><mode>_undef_merge): Ditto.
1343         (*pred_<madd_nmsub><mode>): Ditto.
1344         (*pred_<macc_nmsac><mode>): Ditto.
1345         (*pred_mul_<optab><mode>): Ditto.
1346         (@pred_mul_<optab><mode>_scalar): Ditto.
1347         (*pred_mul_<optab><mode>_undef_merge_scalar): Ditto.
1348         (*pred_<madd_nmsub><mode>_scalar): Ditto.
1349         (*pred_<macc_nmsac><mode>_scalar): Ditto.
1350         (*pred_mul_<optab><mode>_scalar): Ditto.
1351         (*pred_mul_<optab><mode>_undef_merge_extended_scalar): Ditto.
1352         (*pred_<madd_nmsub><mode>_extended_scalar): Ditto.
1353         (*pred_<macc_nmsac><mode>_extended_scalar): Ditto.
1354         (*pred_mul_<optab><mode>_extended_scalar): Ditto.
1355         (@pred_widen_mul_plus<su><mode>): Ditto.
1356         (@pred_widen_mul_plus<su><mode>_scalar): Ditto.
1357         (@pred_widen_mul_plussu<mode>): Ditto.
1358         (@pred_widen_mul_plussu<mode>_scalar): Ditto.
1359         (@pred_widen_mul_plusus<mode>_scalar): Ditto.
1361 2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1363         * config/riscv/predicates.md (vector_mask_operand): Refine the codes.
1364         (vector_all_trues_mask_operand): New predicate.
1365         (vector_undef_operand): New predicate.
1366         (ltge_operator): New predicate.
1367         (comparison_except_ltge_operator): New predicate.
1368         (comparison_except_eqge_operator): New predicate.
1369         (ge_operator): New predicate.
1370         * config/riscv/riscv-v.cc (has_vi_variant_p): Add compare support.
1371         * config/riscv/riscv-vector-builtins-bases.cc (class icmp): New class.
1372         (BASE): Ditto.
1373         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1374         * config/riscv/riscv-vector-builtins-functions.def (vmseq): Ditto.
1375         (vmsne): Ditto.
1376         (vmslt): Ditto.
1377         (vmsgt): Ditto.
1378         (vmsle): Ditto.
1379         (vmsge): Ditto.
1380         (vmsltu): Ditto.
1381         (vmsgtu): Ditto.
1382         (vmsleu): Ditto.
1383         (vmsgeu): Ditto.
1384         * config/riscv/riscv-vector-builtins-shapes.cc
1385         (struct return_mask_def): Adjust for compare support.
1386         * config/riscv/riscv-vector-builtins.cc
1387         (function_expander::use_compare_insn): New function.
1388         * config/riscv/riscv-vector-builtins.h
1389         (function_expander::add_integer_operand): Ditto.
1390         * config/riscv/riscv.cc (riscv_print_operand): Add compare support.
1391         * config/riscv/riscv.md: Add vector min/max attributes.
1392         * config/riscv/vector-iterators.md (xnor): New iterator.
1393         * config/riscv/vector.md (@pred_cmp<mode>): New pattern.
1394         (*pred_cmp<mode>): Ditto.
1395         (*pred_cmp<mode>_narrow): Ditto.
1396         (@pred_ltge<mode>): Ditto.
1397         (*pred_ltge<mode>): Ditto.
1398         (*pred_ltge<mode>_narrow): Ditto.
1399         (@pred_cmp<mode>_scalar): Ditto.
1400         (*pred_cmp<mode>_scalar): Ditto.
1401         (*pred_cmp<mode>_scalar_narrow): Ditto.
1402         (@pred_eqne<mode>_scalar): Ditto.
1403         (*pred_eqne<mode>_scalar): Ditto.
1404         (*pred_eqne<mode>_scalar_narrow): Ditto.
1405         (*pred_cmp<mode>_extended_scalar): Ditto.
1406         (*pred_cmp<mode>_extended_scalar_narrow): Ditto.
1407         (*pred_eqne<mode>_extended_scalar): Ditto.
1408         (*pred_eqne<mode>_extended_scalar_narrow): Ditto.
1409         (@pred_ge<mode>_scalar): Ditto.
1410         (@pred_<optab><mode>): Ditto.
1411         (@pred_n<optab><mode>): Ditto.
1412         (@pred_<optab>n<mode>): Ditto.
1413         (@pred_not<mode>): Ditto.
1415 2023-02-15  Martin Jambor  <mjambor@suse.cz>
1417         PR ipa/108679
1418         * ipa-sra.cc (push_param_adjustments_for_index): Do not omit
1419         creation of non-scalar replacements even if IPA-CP knows their
1420         contents.
1422 2023-02-15  Jakub Jelinek  <jakub@redhat.com>
1424         PR target/108787
1425         PR target/103109
1426         * config/rs6000/rs6000.md (<u>maddditi4): Change into umaddditi4 only
1427         expander, change operand 3 to be TImode, emit maddlddi4 and
1428         umadddi4_highpart{,_le} with its low half and finally add the high
1429         half to the result.
1431 2023-02-15  Martin Liska  <mliska@suse.cz>
1433         * doc/invoke.texi: Document --param=asan-kernel-mem-intrinsic-prefix.
1435 2023-02-15  Richard Biener  <rguenther@suse.de>
1437         * sanopt.cc (sanitize_asan_mark_unpoison): Use bitmap
1438         for with_poison and alias worklist to it.
1439         (sanitize_asan_mark_poison): Likewise.
1441 2023-02-15  Richard Biener  <rguenther@suse.de>
1443         PR target/108738
1444         * config/i386/i386-features.cc (scalar_chain::add_to_queue):
1445         Combine bitmap test and set.
1446         (scalar_chain::add_insn): Likewise.
1447         (scalar_chain::analyze_register_chain): Remove redundant
1448         attempt to add to queue and instead strengthen assert.
1449         Sink common attempts to mark the def dual-mode.
1450         (scalar_chain::add_to_queue): Remove redundant insn bitmap
1451         check.
1453 2023-02-15  Richard Biener  <rguenther@suse.de>
1455         PR target/108738
1456         * config/i386/i386-features.cc (convert_scalars_to_vector):
1457         Switch candidates bitmaps to tree view before building the chains.
1459 2023-02-15  Hans-Peter Nilsson  <hp@axis.com>
1461         * reload1.cc (gen_reload): Correct rtx parameter for fatal_insn
1462         "failure trying to reload" call.
1464 2023-02-15  Hans-Peter Nilsson  <hp@axis.com>
1466         * gdbinit.in (phrs): New command.
1467         * sel-sched-dump.cc (debug_hard_reg_set): Remove debug-function.
1468         * ira-color.cc (debug_hard_reg_set): New, calling print_hard_reg_set.
1470 2023-02-14  David Faust  <david.faust@oracle.com>
1472         PR target/108790
1473         * config/bpf/constraints.md (q): New memory constraint.
1474         * config/bpf/bpf.md (zero_extendhidi2): Use it here.
1475         (zero_extendqidi2): Likewise.
1476         (zero_extendsidi2): Likewise.
1477         (*mov<MM:mode>): Likewise.
1479 2023-02-14  Andrew Pinski  <apinski@marvell.com>
1481         PR tree-optimization/108355
1482         PR tree-optimization/96921
1483         * match.pd: Add pattern for "1 - bool_val".
1485 2023-02-14  Richard Biener  <rguenther@suse.de>
1487         * tree-ssa-sccvn.cc (vn_phi_compute_hash): Key skipping
1488         basic block index hashing on the availability of ->cclhs.
1489         (vn_phi_eq): Avoid re-doing sanity checks for CSE but
1490         rely on ->cclhs availability.
1491         (vn_phi_lookup): Set ->cclhs only when we are eventually
1492         going to CSE the PHI.
1493         (vn_phi_insert): Likewise.
1495 2023-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1497         * gimplify.cc (gimplify_save_expr): Add missing guard.
1499 2023-02-14  Richard Biener  <rguenther@suse.de>
1501         PR tree-optimization/108782
1502         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
1503         Make sure we're not vectorizing an inner loop.
1505 2023-02-14  Jakub Jelinek  <jakub@redhat.com>
1507         PR sanitizer/108777
1508         * params.opt (-param=asan-kernel-mem-intrinsic-prefix=): New param.
1509         * asan.h (asan_memfn_rtl): Declare.
1510         * asan.cc (asan_memfn_rtls): New variable.
1511         (asan_memfn_rtl): New function.
1512         * builtins.cc (expand_builtin): If
1513         param_asan_kernel_mem_intrinsic_prefix and function is
1514         kernel-{,hw}address sanitized, emit calls to
1515         __{,hw}asan_{memcpy,memmove,memset} rather than
1516         {memcpy,memmove,memset}.  Use sanitize_flags_p (SANITIZE_ADDRESS)
1517         instead of flag_sanitize & SANITIZE_ADDRESS to check if
1518         asan_intercepted_p functions shouldn't be expanded inline.
1520 2023-02-14  Richard Sandiford  <richard.sandiford@arm.com>
1522         PR tree-optimization/96373
1523         * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
1524         operations on the loop mask.  Reject partial vectors if this isn't
1525         possible.
1527 2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>
1529         PR rtl-optimization/108681
1530         * lra-spills.cc (lra_final_code_change): Extend subreg replacement
1531         code to handle bare uses and clobbers.
1533 2023-02-13  Vladimir N. Makarov  <vmakarov@redhat.com>
1535         * ira.cc (ira_update_equiv_info_by_shuffle_insn): Clear equiv
1536         caller_save_p flag when clearing defined_p flag.
1537         (setup_reg_equiv): Ditto.
1538         * lra-constraints.cc (lra_constraints): Ditto.
1540 2023-02-13  Uroš Bizjak  <ubizjak@gmail.com>
1542         PR target/108516
1543         * config/i386/predicates.md (extr_register_operand):
1544         New special predicate.
1545         * config/i386/i386.md (*extv<mode>): Use extr_register_operand
1546         as operand 1 predicate.
1547         (*exzv<mode>): Ditto.
1548         (*extendqi<SWI24:mode>_ext_1): New insn pattern.
1550 2023-02-13  Richard Biener  <rguenther@suse.de>
1552         PR tree-optimization/28614
1553         * tree-ssa-sccvn.cc (can_track_predicate_on_edge): Avoid
1554         walking all edges in most cases.
1555         (vn_nary_op_insert_pieces_predicated): Avoid repeated
1556         calls to can_track_predicate_on_edge unless checking is
1557         enabled.
1558         (process_bb): Instead call it once here for each edge
1559         we register possibly multiple predicates on.
1561 2023-02-13  Richard Biener  <rguenther@suse.de>
1563         PR tree-optimization/108691
1564         * tree-cfg.cc (notice_special_calls): When the CFG is built
1565         honor gimple_call_ctrl_altering_p.
1566         * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp
1567         temporarily if the call is not control-altering.
1568         * calls.cc (emit_call_1): Do not add REG_SETJMP if
1569         cfun->calls_setjmp is not set.  Do not alter cfun->calls_setjmp.
1571 2023-02-13  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
1573         PR target/108102
1574         * config/s390/s390.cc (s390_bb_fallthru_entry_likely): Remove.
1575         (struct s390_sched_state): Initialise to zero.
1576         (s390_sched_variable_issue): For better debuggability also emit
1577         the current side.
1578         (s390_sched_init): Unconditionally reset scheduler state.
1580 2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>
1582         * ifcvt.h (noce_if_info::cond_inverted): New field.
1583         * ifcvt.cc (cond_move_convert_if_block): Swap the then and else
1584         values when cond_inverted is true.
1585         (noce_find_if_block): Allow the condition to be inverted when
1586         handling conditional moves.
1588 2023-02-13  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
1590         * config/s390/predicates.md (execute_operation): Use
1591         constrain_operands instead of extract_constrain_insn in order to
1592         determine wheter there exists a valid alternative.
1594 2023-02-13  Claudiu Zissulescu  <claziss@gmail.com>
1596         * common/config/arc/arc-common.cc (arc_option_optimization_table):
1597         Remove millicode from list.
1599 2023-02-13  Martin Liska  <mliska@suse.cz>
1601         * doc/invoke.texi: Document ira-simple-lra-insn-threshold.
1603 2023-02-13  Richard Biener  <rguenther@suse.de>
1605         PR tree-optimization/106722
1606         * tree-ssa-dce.cc (mark_last_stmt_necessary): Return
1607         whether we marked a stmt.
1608         (mark_control_dependent_edges_necessary): When
1609         mark_last_stmt_necessary didn't mark any stmt make sure
1610         to mark its control dependent edges.
1611         (propagate_necessity): Likewise.
1613 2023-02-13  Kito Cheng  <kito.cheng@sifive.com>
1615         * config/riscv/riscv.h (RISCV_DWARF_VLENB): New.
1616         (DWARF_FRAME_REGISTERS): New.
1617         (DWARF_REG_TO_UNWIND_COLUMN): New.
1619 2023-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
1621         * doc/sourcebuild.texi: Remove (broken) direct reference to
1622         "The GNU configure and build system".
1624 2023-02-12  Jin Ma  <jinma@linux.alibaba.com>
1626         * config/riscv/riscv.cc (riscv_adjust_libcall_cfi_prologue): Change
1627         gen_add3_insn to gen_rtx_SET.
1628         (riscv_adjust_libcall_cfi_epilogue): Likewise.
1630 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1632         * config/riscv/riscv-vector-builtins-bases.cc (class sat_op): New class.
1633         (class vnclip): Ditto.
1634         (BASE): Ditto.
1635         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1636         * config/riscv/riscv-vector-builtins-functions.def (vaadd): Ditto.
1637         (vasub): Ditto.
1638         (vaaddu): Ditto.
1639         (vasubu): Ditto.
1640         (vsmul): Ditto.
1641         (vssra): Ditto.
1642         (vssrl): Ditto.
1643         (vnclipu): Ditto.
1644         (vnclip): Ditto.
1645         * config/riscv/vector-iterators.md (su): Add instruction.
1646         (aadd): Ditto.
1647         (vaalu): Ditto.
1648         * config/riscv/vector.md (@pred_<sat_op><mode>): New pattern.
1649         (@pred_<sat_op><mode>_scalar): Ditto.
1650         (*pred_<sat_op><mode>_scalar): Ditto.
1651         (*pred_<sat_op><mode>_extended_scalar): Ditto.
1652         (@pred_narrow_clip<v_su><mode>): Ditto.
1653         (@pred_narrow_clip<v_su><mode>_scalar): Ditto.
1655 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1657         * config/riscv/constraints.md (Wbr): Remove unused constraint.
1658         * config/riscv/predicates.md: Fix move operand predicate.
1659         * config/riscv/riscv-vector-builtins-bases.cc (class vnshift): New class.
1660         (class vncvt_x): Ditto.
1661         (class vmerge): Ditto.
1662         (class vmv_v): Ditto.
1663         (BASE): Ditto.
1664         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1665         * config/riscv/riscv-vector-builtins-functions.def (vsra): Ditto.
1666         (vsrl): Ditto.
1667         (vnsrl): Ditto.
1668         (vnsra): Ditto.
1669         (vncvt_x): Ditto.
1670         (vmerge): Ditto.
1671         (vmv_v): Ditto.
1672         * config/riscv/riscv-vector-builtins-shapes.cc (struct narrow_alu_def): Ditto.
1673         (struct move_def): Ditto.
1674         (SHAPE): Ditto.
1675         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
1676         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): New variable.
1677         (DEF_RVV_WEXTU_OPS): Ditto
1678         * config/riscv/riscv-vector-builtins.def (x_x_w): Fix type for suffix.
1679         (v_v): Ditto.
1680         (v_x): Ditto.
1681         (x_w): Ditto.
1682         (x): Ditto.
1683         * config/riscv/riscv.cc (riscv_print_operand): Refine ASM printting rule.
1684         * config/riscv/vector-iterators.md (nmsac):New iterator.
1685         (nmsub): New iterator.
1686         * config/riscv/vector.md (@pred_merge<mode>): New pattern.
1687         (@pred_merge<mode>_scalar): New pattern.
1688         (*pred_merge<mode>_scalar): New pattern.
1689         (*pred_merge<mode>_extended_scalar): New pattern.
1690         (@pred_narrow_<optab><mode>): New pattern.
1691         (@pred_narrow_<optab><mode>_scalar): New pattern.
1692         (@pred_trunc<mode>): New pattern.
1694 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1696         * config/riscv/riscv-vector-builtins-bases.cc (class vmadc): New class.
1697         (class vmsbc): Ditto.
1698         (BASE): Define new class.
1699         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1700         * config/riscv/riscv-vector-builtins-functions.def (vmadc): New define.
1701         (vmsbc): Ditto.
1702         * config/riscv/riscv-vector-builtins-shapes.cc (struct return_mask_def):
1703         New class.
1704         (SHAPE): Ditto.
1705         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
1706         * config/riscv/riscv-vector-builtins.cc
1707         (function_expander::use_exact_insn): Adjust for new support
1708         * config/riscv/riscv-vector-builtins.h
1709         (function_base::has_merge_operand_p): New function.
1710         * config/riscv/vector-iterators.md: New iterator.
1711         * config/riscv/vector.md (@pred_madc<mode>): New pattern.
1712         (@pred_msbc<mode>): Ditto.
1713         (@pred_madc<mode>_scalar): Ditto.
1714         (@pred_msbc<mode>_scalar): Ditto.
1715         (*pred_madc<mode>_scalar): Ditto.
1716         (*pred_madc<mode>_extended_scalar): Ditto.
1717         (*pred_msbc<mode>_scalar): Ditto.
1718         (*pred_msbc<mode>_extended_scalar): Ditto.
1719         (@pred_madc<mode>_overflow): Ditto.
1720         (@pred_msbc<mode>_overflow): Ditto.
1721         (@pred_madc<mode>_overflow_scalar): Ditto.
1722         (@pred_msbc<mode>_overflow_scalar): Ditto.
1723         (*pred_madc<mode>_overflow_scalar): Ditto.
1724         (*pred_madc<mode>_overflow_extended_scalar): Ditto.
1725         (*pred_msbc<mode>_overflow_scalar): Ditto.
1726         (*pred_msbc<mode>_overflow_extended_scalar): Ditto.
1728 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1730         * config/riscv/riscv-protos.h (simm5_p): Add vadc/vsbc support.
1731         * config/riscv/riscv-v.cc (simm32_p): Ditto.
1732         * config/riscv/riscv-vector-builtins-bases.cc (class vadc): New class.
1733         (class vsbc): Ditto.
1734         (BASE): Ditto.
1735         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1736         * config/riscv/riscv-vector-builtins-functions.def (vadc): Ditto.
1737         (vsbc): Ditto.
1738         * config/riscv/riscv-vector-builtins-shapes.cc
1739         (struct no_mask_policy_def): Ditto.
1740         (SHAPE): Ditto.
1741         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
1742         * config/riscv/riscv-vector-builtins.cc
1743         (rvv_arg_type_info::get_base_vector_type): Add vadc/vsbc support.
1744         (rvv_arg_type_info::get_tree_type): Ditto.
1745         (function_expander::use_exact_insn): Ditto.
1746         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto.
1747         (function_base::use_mask_predication_p): New function.
1748         * config/riscv/vector-iterators.md: New iterator.
1749         * config/riscv/vector.md (@pred_adc<mode>): New pattern.
1750         (@pred_sbc<mode>): Ditto.
1751         (@pred_adc<mode>_scalar): Ditto.
1752         (@pred_sbc<mode>_scalar): Ditto.
1753         (*pred_adc<mode>_scalar): Ditto.
1754         (*pred_adc<mode>_extended_scalar): Ditto.
1755         (*pred_sbc<mode>_scalar): Ditto.
1756         (*pred_sbc<mode>_extended_scalar): Ditto.
1758 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1760         * config/riscv/vector.md: use "zero" reg.
1762 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1764         * config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New
1765         class.
1766         (class vwmulsu): Ditto.
1767         (class vwcvt): Ditto.
1768         (BASE): Add integer widening support.
1769         * config/riscv/riscv-vector-builtins-bases.h: Ditto
1770         * config/riscv/riscv-vector-builtins-functions.def (vwadd): New class.
1771         (vwsub): New class.
1772         (vwmul): New class.
1773         (vwmulu): New class.
1774         (vwmulsu): New class.
1775         (vwaddu): New class.
1776         (vwsubu): New class.
1777         (vwcvt_x): New class.
1778         (vwcvtu_x): New class.
1779         * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): New
1780         class.
1781         (struct widen_alu_def): New class.
1782         (SHAPE): New class.
1783         * config/riscv/riscv-vector-builtins-shapes.h: New class.
1784         * config/riscv/riscv-vector-builtins.cc
1785         (rvv_arg_type_info::get_base_vector_type): Add integer widening support.
1786         (rvv_arg_type_info::get_tree_type): Ditto.
1787         * config/riscv/riscv-vector-builtins.def (x_x_v): Change into "x_v"
1788         (x_v): Ditto.
1789         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add integer
1790         widening support.
1791         * config/riscv/riscv-vsetvl.cc (change_insn): Fix reg_equal use bug.
1792         * config/riscv/riscv.h (X0_REGNUM): New constant.
1793         * config/riscv/vector-iterators.md: New iterators.
1794         * config/riscv/vector.md
1795         (@pred_dual_widen_<any_widen_binop:optab><any_extend:su><mode>): New
1796         pattern.
1797         (@pred_dual_widen_<any_widen_binop:optab><any_extend:su><mode>_scalar):
1798         Ditto.
1799         (@pred_single_widen_<plus_minus:optab><any_extend:su><mode>): Ditto.
1800         (@pred_single_widen_<plus_minus:optab><any_extend:su><mode>_scalar):
1801         Ditto.
1802         (@pred_widen_mulsu<mode>): Ditto.
1803         (@pred_widen_mulsu<mode>_scalar): Ditto.
1804         (@pred_<optab><mode>): Ditto.
1806 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1807             kito-cheng  <kito.cheng@sifive.com>
1809         * common/config/riscv/riscv-common.cc: Add flag for 'V' extension.
1810         * config/riscv/riscv-vector-builtins-bases.cc (class vmulh): New class.
1811         (BASE): Ditto.
1812         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1813         * config/riscv/riscv-vector-builtins-functions.def (vmulh): Add vmulh
1814         API support.
1815         (vmulhu): Ditto.
1816         (vmulhsu): Ditto.
1817         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_FULL_V_I_OPS):
1818         New macro.
1819         (DEF_RVV_FULL_V_U_OPS): Ditto.
1820         (vint8mf8_t): Ditto.
1821         (vint8mf4_t): Ditto.
1822         (vint8mf2_t): Ditto.
1823         (vint8m1_t): Ditto.
1824         (vint8m2_t): Ditto.
1825         (vint8m4_t): Ditto.
1826         (vint8m8_t): Ditto.
1827         (vint16mf4_t): Ditto.
1828         (vint16mf2_t): Ditto.
1829         (vint16m1_t): Ditto.
1830         (vint16m2_t): Ditto.
1831         (vint16m4_t): Ditto.
1832         (vint16m8_t): Ditto.
1833         (vint32mf2_t): Ditto.
1834         (vint32m1_t): Ditto.
1835         (vint32m2_t): Ditto.
1836         (vint32m4_t): Ditto.
1837         (vint32m8_t): Ditto.
1838         (vint64m1_t): Ditto.
1839         (vint64m2_t): Ditto.
1840         (vint64m4_t): Ditto.
1841         (vint64m8_t): Ditto.
1842         (vuint8mf8_t): Ditto.
1843         (vuint8mf4_t): Ditto.
1844         (vuint8mf2_t): Ditto.
1845         (vuint8m1_t): Ditto.
1846         (vuint8m2_t): Ditto.
1847         (vuint8m4_t): Ditto.
1848         (vuint8m8_t): Ditto.
1849         (vuint16mf4_t): Ditto.
1850         (vuint16mf2_t): Ditto.
1851         (vuint16m1_t): Ditto.
1852         (vuint16m2_t): Ditto.
1853         (vuint16m4_t): Ditto.
1854         (vuint16m8_t): Ditto.
1855         (vuint32mf2_t): Ditto.
1856         (vuint32m1_t): Ditto.
1857         (vuint32m2_t): Ditto.
1858         (vuint32m4_t): Ditto.
1859         (vuint32m8_t): Ditto.
1860         (vuint64m1_t): Ditto.
1861         (vuint64m2_t): Ditto.
1862         (vuint64m4_t): Ditto.
1863         (vuint64m8_t): Ditto.
1864         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FULL_V_I_OPS): Ditto.
1865         (DEF_RVV_FULL_V_U_OPS): Ditto.
1866         (check_required_extensions): Add vmulh support.
1867         (rvv_arg_type_info::get_tree_type): Ditto.
1868         * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_FULL_V): Ditto.
1869         (enum rvv_base_type): Ditto.
1870         * config/riscv/riscv.opt: Add 'V' extension flag.
1871         * config/riscv/vector-iterators.md (su): New iterator.
1872         * config/riscv/vector.md (@pred_mulh<v_su><mode>): New pattern.
1873         (@pred_mulh<v_su><mode>_scalar): Ditto.
1874         (*pred_mulh<v_su><mode>_scalar): Ditto.
1875         (*pred_mulh<v_su><mode>_extended_scalar): Ditto.
1877 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1879         * config/riscv/iterators.md: Add sign_extend/zero_extend.
1880         * config/riscv/riscv-vector-builtins-bases.cc (class ext): New class.
1881         (BASE): Ditto.
1882         * config/riscv/riscv-vector-builtins-bases.h: Add vsext/vzext support.
1883         * config/riscv/riscv-vector-builtins-functions.def (vsext): New macro
1884         define.
1885         (vzext): Ditto.
1886         * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Adjust
1887         for vsext/vzext support.
1888         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTI_OPS): New
1889         macro define.
1890         (DEF_RVV_QEXTI_OPS): Ditto.
1891         (DEF_RVV_OEXTI_OPS): Ditto.
1892         (DEF_RVV_WEXTU_OPS): Ditto.
1893         (DEF_RVV_QEXTU_OPS): Ditto.
1894         (DEF_RVV_OEXTU_OPS): Ditto.
1895         (vint16mf4_t): Ditto.
1896         (vint16mf2_t): Ditto.
1897         (vint16m1_t): Ditto.
1898         (vint16m2_t): Ditto.
1899         (vint16m4_t): Ditto.
1900         (vint16m8_t): Ditto.
1901         (vint32mf2_t): Ditto.
1902         (vint32m1_t): Ditto.
1903         (vint32m2_t): Ditto.
1904         (vint32m4_t): Ditto.
1905         (vint32m8_t): Ditto.
1906         (vint64m1_t): Ditto.
1907         (vint64m2_t): Ditto.
1908         (vint64m4_t): Ditto.
1909         (vint64m8_t): Ditto.
1910         (vuint16mf4_t): Ditto.
1911         (vuint16mf2_t): Ditto.
1912         (vuint16m1_t): Ditto.
1913         (vuint16m2_t): Ditto.
1914         (vuint16m4_t): Ditto.
1915         (vuint16m8_t): Ditto.
1916         (vuint32mf2_t): Ditto.
1917         (vuint32m1_t): Ditto.
1918         (vuint32m2_t): Ditto.
1919         (vuint32m4_t): Ditto.
1920         (vuint32m8_t): Ditto.
1921         (vuint64m1_t): Ditto.
1922         (vuint64m2_t): Ditto.
1923         (vuint64m4_t): Ditto.
1924         (vuint64m8_t): Ditto.
1925         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): Ditto.
1926         (DEF_RVV_QEXTI_OPS): Ditto.
1927         (DEF_RVV_OEXTI_OPS): Ditto.
1928         (DEF_RVV_WEXTU_OPS): Ditto.
1929         (DEF_RVV_QEXTU_OPS): Ditto.
1930         (DEF_RVV_OEXTU_OPS): Ditto.
1931         (rvv_arg_type_info::get_base_vector_type): Add sign_exted/zero_extend
1932         support.
1933         (rvv_arg_type_info::get_tree_type): Ditto.
1934         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto.
1935         * config/riscv/vector-iterators.md (z): New attribute.
1936         * config/riscv/vector.md (@pred_<optab><mode>_vf2): New pattern.
1937         (@pred_<optab><mode>_vf4): Ditto.
1938         (@pred_<optab><mode>_vf8): Ditto.
1940 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1942         * config/riscv/iterators.md: Add saturating Addition && Subtraction.
1943         * config/riscv/riscv-v.cc (has_vi_variant_p): Ditto.
1944         * config/riscv/riscv-vector-builtins-bases.cc (BASE): Ditto.
1945         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1946         * config/riscv/riscv-vector-builtins-functions.def (vsadd): New def.
1947         (vssub): Ditto.
1948         (vsaddu): Ditto.
1949         (vssubu): Ditto.
1950         * config/riscv/vector-iterators.md (sll.vi): Adjust for Saturating
1951         support.
1952         (sll.vv): Ditto.
1953         (%3,%v4): Ditto.
1954         (%3,%4): Ditto.
1955         * config/riscv/vector.md (@pred_<optab><mode>): New pattern.
1956         (@pred_<optab><mode>_scalar): New pattern.
1957         (*pred_<optab><mode>_scalar): New pattern.
1958         (*pred_<optab><mode>_extended_scalar): New pattern.
1960 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1962         * config/riscv/iterators.md: Add neg and not.
1963         * config/riscv/riscv-vector-builtins-bases.cc (class unop): New class.
1964         (BASE): Ditto.
1965         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
1966         * config/riscv/riscv-vector-builtins-functions.def (vadd): Rename binop
1967         into alu.
1968         (vsub): Ditto.
1969         (vand): Ditto.
1970         (vor): Ditto.
1971         (vxor): Ditto.
1972         (vsll): Ditto.
1973         (vsra): Ditto.
1974         (vsrl): Ditto.
1975         (vmin): Ditto.
1976         (vmax): Ditto.
1977         (vminu): Ditto.
1978         (vmaxu): Ditto.
1979         (vmul): Ditto.
1980         (vdiv): Ditto.
1981         (vrem): Ditto.
1982         (vdivu): Ditto.
1983         (vremu): Ditto.
1984         (vrsub): Ditto.
1985         (vneg): Ditto.
1986         (vnot): Ditto.
1987         * config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): Ditto.
1988         (struct alu_def): Ditto.
1989         (SHAPE): Ditto.
1990         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
1991         * config/riscv/riscv-vector-builtins.cc: Support unary C/C/++.
1992         * config/riscv/vector-iterators.md: New iterator.
1993         * config/riscv/vector.md (@pred_<optab><mode>): New pattern
1995 2023-02-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1997         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::compute_probabilities): Skip exit block.
1999 2023-02-11  Jakub Jelinek  <jakub@redhat.com>
2001         PR ipa/108605
2002         * ipa-cp.cc (ipa_agg_value_from_jfunc): Return NULL_TREE also if
2003         item->offset bit position is too large to be representable as
2004         unsigned int byte position.
2006 2023-02-11  Gerald Pfeifer  <gerald@pfeifer.com>
2008         * doc/extend.texi (Other Builtins): Adjust link to WG14 N965.
2010 2023-02-10  Vladimir N. Makarov  <vmakarov@redhat.com>
2012         * ira.cc (update_equiv_regs): Set up ira_reg_equiv for
2013         valid_combine only when ira_use_lra_p is true.
2015 2023-02-10  Vladimir N. Makarov  <vmakarov@redhat.com>
2017         * params.opt (ira-simple-lra-insn-threshold): Add new param.
2018         * ira.cc (ira): Use the param to switch on simple LRA.
2020 2023-02-10  Andrew MacLeod  <amacleod@redhat.com>
2022         PR tree-optimization/108687
2023         * gimple-range-cache.cc (ranger_cache::range_on_edge): Revert
2024         back to RFD_NONE mode for calculations.
2025         (ranger_cache::propagate_cache): Call the internal edge range API
2026         with RFD_READ_ONLY instead of changing the external routine.
2028 2023-02-10  Andrew MacLeod  <amacleod@redhat.com>
2030         PR tree-optimization/108520
2031         * gimple-range-infer.cc (check_assume_func): Invoke
2032         gimple_range_global directly instead using global_range_query.
2033         * value-query.cc (get_range_global): Add function context and
2034         avoid calling nonnull_arg_p if not cfun.
2035         (gimple_range_global): Add function context pointer.
2036         * value-query.h (imple_range_global): Add function context.
2038 2023-02-10  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2040         * config/riscv/constraints.md (Wdm): Adjust constraint.
2041         (Wbr): New constraint.
2042         * config/riscv/predicates.md (reg_or_int_operand): New predicate.
2043         * config/riscv/riscv-protos.h (emit_pred_op): Remove function.
2044         (emit_vlmax_op): New function.
2045         (emit_nonvlmax_op): Ditto.
2046         (simm32_p): Ditto.
2047         (neg_simm5_p): Ditto.
2048         (has_vi_variant_p): Ditto.
2049         * config/riscv/riscv-v.cc (emit_pred_op): Adjust function.
2050         (emit_vlmax_op): New function.
2051         (emit_nonvlmax_op): Ditto.
2052         (expand_const_vector): Adjust function.
2053         (legitimize_move): Ditto.
2054         (simm32_p): New function.
2055         (simm5_p): Ditto.
2056         (neg_simm5_p): Ditto.
2057         (has_vi_variant_p): Ditto.
2058         * config/riscv/riscv-vector-builtins-bases.cc (class vrsub): New class.
2059         (BASE): Ditto.
2060         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
2061         * config/riscv/riscv-vector-builtins-functions.def (vmin): Remove
2062         unsigned cases.
2063         (vmax): Ditto.
2064         (vminu): Remove signed cases.
2065         (vmaxu): Ditto.
2066         (vdiv): Remove unsigned cases.
2067         (vrem): Ditto.
2068         (vdivu): Remove signed cases.
2069         (vremu): Ditto.
2070         (vadd): Adjust.
2071         (vsub): Ditto.
2072         (vrsub): New class.
2073         (vand): Adjust.
2074         (vor): Ditto.
2075         (vxor): Ditto.
2076         (vmul): Ditto.
2077         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_U_OPS): New macro.
2078         * config/riscv/riscv.h: change VL/VTYPE as fixed reg.
2079         * config/riscv/vector-iterators.md: New iterators.
2080         * config/riscv/vector.md (@pred_broadcast<mode>): Adjust pattern for vx
2081         support.
2082         (@pred_<optab><mode>_scalar): New pattern.
2083         (@pred_sub<mode>_reverse_scalar): Ditto.
2084         (*pred_<optab><mode>_scalar): Ditto.
2085         (*pred_<optab><mode>_extended_scalar): Ditto.
2086         (*pred_sub<mode>_reverse_scalar): Ditto.
2087         (*pred_sub<mode>_extended_reverse_scalar): Ditto.
2089 2023-02-10  Richard Biener  <rguenther@suse.de>
2091         PR tree-optimization/108724
2092         * tree-vect-stmts.cc (vectorizable_operation): Avoid
2093         using word_mode vectors when vector lowering will
2094         decompose them to elementwise operations.
2096 2023-02-10  Jakub Jelinek  <jakub@redhat.com>
2098         Revert:
2099         2023-02-09  Martin Liska  <mliska@suse.cz>
2101         PR target/100758
2102         * doc/extend.texi: Document that the function
2103         does not work correctly for old VIA processors.
2105 2023-02-10  Andrew Pinski  <apinski@marvell.com>
2106             Andrew Macleod   <amacleod@redhat.com>
2108         PR tree-optimization/108684
2109         * tree-ssa-dce.cc (simple_dce_from_worklist):
2110         Check all ssa names and not just non-vdef ones
2111         before accepting the inline-asm.
2112         Call unlink_stmt_vdef on the statement before
2113         removing it.
2115 2023-02-09  Vladimir N. Makarov  <vmakarov@redhat.com>
2117         * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p.
2118         * ira.cc (validate_equiv_mem): Check memref address variance.
2119         (no_equiv): Clear caller_save_p flag.
2120         (update_equiv_regs): Define caller save equivalence for
2121         valid_combine.
2122         (setup_reg_equiv): Clear defined_p flag for caller save equivalence.
2123         * lra-constraints.cc (lra_copy_reg_equiv): Add new arg
2124         call_save_p.  Use caller save equivalence depending on the arg.
2125         (split_reg): Adjust the call.
2127 2023-02-09  Jakub Jelinek  <jakub@redhat.com>
2129         PR target/100758
2130         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Formatting fixes.
2131         (cpu_indicator_init): Call get_available_features for all CPUs with
2132         max_level >= 1, rather than just Intel, AMD or Zhaoxin.  Formatting
2133         fixes.
2135 2023-02-09  Jakub Jelinek  <jakub@redhat.com>
2137         PR tree-optimization/108688
2138         * match.pd (bit_field_ref [bit_insert]): Simplify BIT_FIELD_REF
2139         of BIT_INSERT_EXPR extracting exactly all inserted bits even
2140         when without mode precision.  Formatting fixes.
2142 2023-02-09  Andrew Pinski  <apinski@marvell.com>
2144         PR tree-optimization/108688
2145         * match.pd (bit_field_ref [bit_insert]): Avoid generating
2146         BIT_FIELD_REFs of non-mode-precision integral operands.
2148 2023-02-09  Martin Liska  <mliska@suse.cz>
2150         PR target/100758
2151         * doc/extend.texi: Document that the function
2152         does not work correctly for old VIA processors.
2154 2023-02-09  Andreas Schwab  <schwab@suse.de>
2156         * lto-wrapper.cc (merge_and_complain): Handle
2157         -funwind-tables and -fasynchronous-unwind-tables.
2158         (append_compiler_options): Likewise.
2160 2023-02-09  Richard Biener  <rguenther@suse.de>
2162         PR tree-optimization/26854
2163         * tree-into-ssa.cc (update_ssa): Turn blocks_to_update to tree
2164         view around insert_updated_phi_nodes_for.
2165         * tree-ssa-alias.cc (maybe_skip_until): Allocate visited bitmap
2166         in tree view.
2167         (walk_aliased_vdefs_1): Likewise.
2169 2023-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
2171         * doc/include/gpl_v3.texi: Change fsf.org to www.fsf.org.
2173 2023-02-08  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
2175         PR target/108505
2176         * config.gcc (tm_mlib_file): Define new variable.
2178 2023-02-08  Jakub Jelinek  <jakub@redhat.com>
2180         PR tree-optimization/108692
2181         * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
2182         widened_code which is different from code, don't call
2183         vect_look_through_possible_promotion but instead just check op is
2184         SSA_NAME with integral type for which vect_is_simple_use is true
2185         and call set_op on this_unprom.
2187 2023-02-08  Andrea Corallo  <andrea.corallo@arm.com>
2189         * config/aarch64/aarch64-protos.h (aarch_ra_sign_key): Remove
2190         declaration.
2191         * config/aarch64/aarch64.cc (aarch_ra_sign_key): Remove
2192         definition.
2193         * config/aarch64/aarch64.opt (aarch64_ra_sign_key): Rename
2194         to 'aarch_ra_sign_key'.
2195         * config/arm/aarch-common.cc (aarch_ra_sign_key): Remove
2196         declaration.
2197         * config/arm/arm-protos.h (aarch_ra_sign_key): Likewise.
2198         * config/arm/arm.cc (enum aarch_key_type): Remove definition.
2199         * config/arm/arm.opt: Define.
2201 2023-02-08  Richard Sandiford  <richard.sandiford@arm.com>
2203         PR tree-optimization/108316
2204         * tree-vect-stmts.cc (get_load_store_type): When using
2205         internal functions for gather/scatter, make sure that the type
2206         of the offset argument is consistent with the offset vector type.
2208 2023-02-08  Vladimir N. Makarov  <vmakarov@redhat.com>
2210         Revert:
2211         2023-02-07  Vladimir N. Makarov  <vmakarov@redhat.com>
2213         * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p.
2214         * ira.cc (validate_equiv_mem): Check memref address variance.
2215         (update_equiv_regs): Define caller save equivalence for
2216         valid_combine.
2217         (setup_reg_equiv): Clear defined_p flag for caller save equivalence.
2218         * lra-constraints.cc (lra_copy_reg_equiv): Add new arg
2219         call_save_p.  Use caller save equivalence depending on the arg.
2220         (split_reg): Adjust the call.
2222 2023-02-08  Jakub Jelinek  <jakub@redhat.com>
2224         * tree.def (SAD_EXPR): Remove outdated comment about missing
2225         WIDEN_MINUS_EXPR.
2227 2023-02-07  Marek Polacek  <polacek@redhat.com>
2229         * doc/invoke.texi: Update -fchar8_t documentation.
2231 2023-02-07  Vladimir N. Makarov  <vmakarov@redhat.com>
2233         * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p.
2234         * ira.cc (validate_equiv_mem): Check memref address variance.
2235         (update_equiv_regs): Define caller save equivalence for
2236         valid_combine.
2237         (setup_reg_equiv): Clear defined_p flag for caller save equivalence.
2238         * lra-constraints.cc (lra_copy_reg_equiv): Add new arg
2239         call_save_p.  Use caller save equivalence depending on the arg.
2240         (split_reg): Adjust the call.
2242 2023-02-07  Richard Biener  <rguenther@suse.de>
2244         PR tree-optimization/26854
2245         * gimple-fold.cc (has_use_on_stmt): Look at stmt operands
2246         instead of immediate uses.
2248 2023-02-07  Jakub Jelinek  <jakub@redhat.com>
2250         PR tree-optimization/106923
2251         * ipa-split.cc (execute_split_functions): Don't split returns_twice
2252         functions.
2254 2023-02-07  Jakub Jelinek  <jakub@redhat.com>
2256         PR tree-optimization/106433
2257         * cgraph.cc (set_const_flag_1): Recurse on simd clones too.
2258         (cgraph_node::set_pure_flag): Call set_pure_flag_1 on simd clones too.
2260 2023-02-07  Jan Hubicka  <jh@suse.cz>
2262         * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
2263         for znver4.
2265 2023-02-06  Andrew Stubbs  <ams@codesourcery.com>
2267         * config/gcn/mkoffload.cc (gcn_stack_size): New global variable.
2268         (process_asm): Create a constructor for GCN_STACK_SIZE.
2269         (main): Parse the -mstack-size option.
2271 2023-02-06  Alex Coplan  <alex.coplan@arm.com>
2273         PR target/104921
2274         * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
2275         Use correct constraint for operand 3.
2277 2023-02-06  Martin Jambor  <mjambor@suse.cz>
2279         * ipa-sra.cc (adjust_parameter_descriptions): Fix a typo in a dump.
2281 2023-02-06  Xi Ruoyao  <xry111@xry111.site>
2283         * config/loongarch/loongarch.md (bytepick_w_ashift_amount):
2284         New define_int_iterator.
2285         (bytepick_d_ashift_amount): Likewise.
2286         (bytepick_imm): New define_int_attr.
2287         (bytepick_w_lshiftrt_amount): Likewise.
2288         (bytepick_d_lshiftrt_amount): Likewise.
2289         (bytepick_w_<bytepick_imm>): New define_insn template.
2290         (bytepick_w_<bytepick_imm>_extend): Likewise.
2291         (bytepick_d_<bytepick_imm>): Likewise.
2292         (bytepick_w): Remove unused define_insn.
2293         (bytepick_d): Likewise.
2294         (UNSPEC_BYTEPICK_W): Remove unused unspec.
2295         (UNSPEC_BYTEPICK_D): Likewise.
2296         * config/loongarch/predicates.md (const_0_to_3_operand):
2297         Remove unused define_predicate.
2298         (const_0_to_7_operand): Likewise.
2300 2023-02-06  Jakub Jelinek  <jakub@redhat.com>
2302         PR tree-optimization/108655
2303         * ubsan.cc (sanitize_unreachable_fn): For -funreachable-traps
2304         or -fsanitize=unreachable -fsanitize-trap=unreachable return
2305         BUILT_IN_UNREACHABLE_TRAP decl rather than BUILT_IN_TRAP.
2307 2023-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
2309         * doc/install.texi (Specific): Remove PW32.
2311 2023-02-03  Jakub Jelinek  <jakub@redhat.com>
2313         PR tree-optimization/108647
2314         * range-op.cc (operator_equal::op1_range,
2315         operator_not_equal::op1_range): Don't test op2 bound
2316         equality if op2.undefined_p (), instead set_varying.
2317         (operator_lt::op1_range, operator_le::op1_range,
2318         operator_gt::op1_range, operator_ge::op1_range): Return false if
2319         op2.undefined_p ().
2320         (operator_lt::op2_range, operator_le::op2_range,
2321         operator_gt::op2_range, operator_ge::op2_range): Return false if
2322         op1.undefined_p ().
2324 2023-02-03  Aldy Hernandez  <aldyh@redhat.com>
2326         PR tree-optimization/108639
2327         * value-range.cc (irange::legacy_equal_p): Compare nonzero bits as
2328         widest_int.
2329         (irange::operator==): Same.
2331 2023-02-03  Aldy Hernandez  <aldyh@redhat.com>
2333         PR tree-optimization/108647
2334         * range-op-float.cc (foperator_lt::op1_range): Handle undefined ranges.
2335         (foperator_lt::op2_range): Same.
2336         (foperator_le::op1_range): Same.
2337         (foperator_le::op2_range): Same.
2338         (foperator_gt::op1_range): Same.
2339         (foperator_gt::op2_range): Same.
2340         (foperator_ge::op1_range): Same.
2341         (foperator_ge::op2_range): Same.
2342         (foperator_unordered_lt::op1_range): Same.
2343         (foperator_unordered_lt::op2_range): Same.
2344         (foperator_unordered_le::op1_range): Same.
2345         (foperator_unordered_le::op2_range): Same.
2346         (foperator_unordered_gt::op1_range): Same.
2347         (foperator_unordered_gt::op2_range): Same.
2348         (foperator_unordered_ge::op1_range): Same.
2349         (foperator_unordered_ge::op2_range): Same.
2351 2023-02-03  Andrew MacLeod  <amacleod@redhat.com>
2353         PR tree-optimization/107570
2354         * tree-vrp.cc (remove_and_update_globals): Reset SCEV.
2356 2023-02-03  Gaius Mulley  <gaiusmod2@gmail.com>
2358         * doc/gm2.texi (Internals): Remove from menu.
2359         (Using): Comment out ifnohtml conditional.
2360         (Documentation): Use gcc url.
2361         (License): Node simplified.
2362         (Copying): New node.  Include gpl_v3_without_node.
2363         (Contributing): Node simplified.
2364         (Internals): Commented out.
2365         (Libraries): Node simplified.
2366         (Indices): Ditto.
2367         (Contents): Ditto.
2368         (Functions): Ditto.
2370 2023-02-03  Christophe Lyon  <christophe.lyon@arm.com>
2372         * config/arm/mve.md (mve_vabavq_p_<supf><mode>): Add length
2373         attribute.
2374         (mve_vqshluq_m_n_s<mode>): Likewise.
2375         (mve_vshlq_m_<supf><mode>): Likewise.
2376         (mve_vsriq_m_n_<supf><mode>): Likewise.
2377         (mve_vsubq_m_<supf><mode>): Likewise.
2379 2023-02-03  Martin Jambor  <mjambor@suse.cz>
2381         PR ipa/108384
2382         * ipa-sra.cc (push_param_adjustments_for_index): Remove a size check
2383         when comparing to an IPA-CP value.
2384         (dump_list_of_param_indices): New function.
2385         (adjust_parameter_descriptions): Check for mismatching IPA-CP values.
2386         Dump removed candidates using dump_list_of_param_indices.
2387         * ipa-param-manipulation.cc
2388         (ipa_param_body_adjustments::modify_expression): Add assert checking
2389         sizes of a VIEW_CONVERT_EXPR will match.
2390         (ipa_param_body_adjustments::modify_assignment): Likewise.
2392 2023-02-03  Monk Chiang  <monk.chiang@sifive.com>
2394         * config/riscv/riscv.h: Remove VL_REGS, VTYPE_REGS class.
2395         * config/riscv/riscv.cc: Ditto.
2397 2023-02-03  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2399         * config/riscv/vector-iterators.md (sll.vi): Fix constraint bug.
2400         (sll.vv): Ditto.
2401         (%3,%4): Ditto.
2402         (%3,%v4): Ditto.
2403         * config/riscv/vector.md: Ditto.
2405 2023-02-03  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2407         * config/riscv/predicates.md (pmode_reg_or_uimm5_operand): New predicate.
2408         * config/riscv/riscv-vector-builtins-bases.cc: New class.
2409         * config/riscv/riscv-vector-builtins-functions.def (vsll): Ditto.
2410         (vsra): Ditto.
2411         (vsrl): Ditto.
2412         * config/riscv/riscv-vector-builtins.cc: Ditto.
2413         * config/riscv/vector.md (@pred_<optab><mode>_scalar): New pattern.
2415 2023-02-02  Iain Sandoe  <iain@sandoe.co.uk>
2417         * toplev.cc (toplev::main): Only print the version information header
2418         from toplevel main().
2420 2023-02-02  Paul-Antoine Arras  <pa@codesourcery.com>
2422         * config/gcn/gcn-valu.md (cond_<expander><mode>): Add
2423         cond_{ashl|ashr|lshr}
2425 2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
2427         PR rtl-optimization/108086
2428         * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
2429         Adjust size-related commentary accordingly.
2431 2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
2433         PR rtl-optimization/108508
2434         * rtl-ssa/accesses.cc (function_info::split_clobber_group): When
2435         the splay tree search gives the first clobber in the second group,
2436         make sure that the root of the first clobber group is updated
2437         correctly.  Enter the new clobber group into the definition splay
2438         tree.
2440 2023-02-02  Jin Ma  <jinma@linux.alibaba.com>
2442         * common/config/riscv/riscv-common.cc (riscv_compute_multilib):
2443         Fix finding best match score.
2445 2023-02-02  Jakub Jelinek  <jakub@redhat.com>
2447         PR debug/106746
2448         PR rtl-optimization/108463
2449         PR target/108484
2450         * cselib.cc (cselib_current_insn): Move declaration earlier.
2451         (cselib_hasher::equal): For debug only locs, temporarily override
2452         cselib_current_insn to their l->setting_insn for the
2453         rtx_equal_for_cselib_1 call, so that unsuccessful comparisons don't
2454         promote some debug locs.
2455         * sched-deps.cc (sched_analyze_2) <case MEM>: For MEMs in DEBUG_INSNs
2456         when using cselib call cselib_lookup_from_insn on the address but
2457         don't substitute it.
2459 2023-02-02  Richard Biener  <rguenther@suse.de>
2461         PR middle-end/108625
2462         * genmatch.cc (expr::gen_transform): Also disallow resimplification
2463         from pushing to lseq with force_leaf.
2464         (dt_simplify::gen_1): Likewise.
2466 2023-02-02  Andrew Stubbs  <ams@codesourcery.com>
2468         * config/gcn/gcn-run.cc: Include libgomp-gcn.h.
2469         (struct kernargs): Replace the common content with kernargs_abi.
2470         (struct heap): Delete.
2471         (main): Read GCN_STACK_SIZE envvar.
2472         Allocate space for the device stacks.
2473         Write the new kernargs fields.
2474         * config/gcn/gcn.cc (gcn_option_override): Remove stack_size_opt.
2475         (default_requested_args): Remove PRIVATE_SEGMENT_BUFFER_ARG and
2476         PRIVATE_SEGMENT_WAVE_OFFSET_ARG.
2477         (gcn_addr_space_convert): Mask the QUEUE_PTR_ARG content.
2478         (gcn_expand_prologue): Move the TARGET_PACKED_WORK_ITEMS to the top.
2479         Set up the stacks from the values in the kernargs, not private.
2480         (gcn_expand_builtin_1): Match the stack configuration in the prologue.
2481         (gcn_hsa_declare_function_name): Turn off the private segment.
2482         (gcn_conditional_register_usage): Ensure QUEUE_PTR is fixed.
2483         * config/gcn/gcn.h (FIXED_REGISTERS): Fix the QUEUE_PTR register.
2484         * config/gcn/gcn.opt (mstack-size): Change the description.
2486 2023-02-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2488         PR target/108443
2489         * config/arm/arm.h (VALID_MVE_PRED_MODE): Add V2QI.
2490         * config/arm/arm.cc (thumb2_legitimate_address_p): Use HImode for
2491         addressing MVE predicate modes.
2492         (mve_bool_vec_to_const): Change to represent correct MVE predicate
2493         format.
2494         (arm_hard_regno_mode_ok): Use VALID_MVE_PRED_MODE instead of checking
2495         modes.
2496         (arm_vector_mode_supported_p): Likewise.
2497         (arm_mode_to_pred_mode): Add V2QI.
2498         * config/arm/arm-builtins.cc (UNOP_PRED_UNONE_QUALIFIERS): New
2499         qualifier.
2500         (UNOP_PRED_PRED_QUALIFIERS): New qualifier
2501         (BINOP_PRED_UNONE_PRED_QUALIFIERS): New qualifier.
2502         (v2qi_UP): New macro.
2503         (v4bi_UP): New macro.
2504         (v8bi_UP): New macro.
2505         (v16bi_UP): New macro.
2506         (arm_expand_builtin_args): Make it able to expand the new predicate
2507         modes.
2508         * config/arm/arm-modes.def (V2QI): New mode.
2509         * config/arm/arm-simd-builtin-types.def (Pred1x16_t, Pred2x8_t
2510         Pred4x4_t): Remove unused predicate builtin types.
2511         * config/arm/arm_mve.h (__arm_vctp16q, __arm_vctp32q, __arm_vctp64q,
2512         __arm_vctp8q, __arm_vpnot, __arm_vctp8q_m, __arm_vctp64q_m,
2513         __arm_vctp32q_m, __arm_vctp16q_m): Use predicate modes.
2514         * config/arm/arm_mve_builtins.def (vctp16q, vctp32q, vctp64q, vctp8q,
2515         vpnot, vctp8q_m, vctp16q_m, vctp32q_m, vctp64q_m): Likewise.
2516         * config/arm/constraints.md (DB): Check for VALID_MVE_PRED_MODE instead
2517         of MODE_VECTOR_BOOL.
2518         * config/arm/iterators.md (MVE_7, MVE_7_HI): Add V2QI
2519         (MVE_VPRED): Likewise.
2520         (MVE_vpred): Add V2QI and map upper case predicate modes to lower case.
2521         (MVE_vctp): New mode attribute.
2522         (mode1): Remove.
2523         (VCTPQ): Remove.
2524         (VCTPQ_M): Remove.
2525         * config/arm/mve.md (mve_vctp<mode1>qhi): Rename this...
2526         (mve_vctp<MVE_vctp>q<MVE_vpred>): ... to this. And use new mode
2527         attributes.
2528         (mve_vpnothi): Rename this...
2529         (mve_vpnotv16bi): ... to this.
2530         (mve_vctp<mode1>q_mhi): Rename this...
2531         (mve_vctp<MVE_vctp>q_m<MVE_vpred>):... to this.
2532         (mve_vldrdq_gather_base_z_<supf>v2di,
2533         mve_vldrdq_gather_offset_z_<supf>v2di,
2534         mve_vldrdq_gather_shifted_offset_z_<supf>v2di,
2535         mve_vstrdq_scatter_base_p_<supf>v2di,
2536         mve_vstrdq_scatter_offset_p_<supf>v2di,
2537         mve_vstrdq_scatter_offset_p_<supf>v2di_insn,
2538         mve_vstrdq_scatter_shifted_offset_p_<supf>v2di,
2539         mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn,
2540         mve_vstrdq_scatter_base_wb_p_<supf>v2di,
2541         mve_vldrdq_gather_base_wb_z_<supf>v2di,
2542         mve_vldrdq_gather_base_nowb_z_<supf>v2di,
2543         mve_vldrdq_gather_base_wb_z_<supf>v2di_insn):  Use V2QI insead of HI for
2544         predicates.
2545         * config/arm/unspecs.md (VCTP8Q, VCTP16Q, VCTP32Q, VCTP64Q): Replace
2546         these...
2547         (VCTP): ... with this.
2548         (VCTP8Q_M, VCTP16Q_M, VCTP32Q_M, VCTP64Q_M): Replace these...
2549         (VCTP_M): ... with this.
2550         * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Use
2551         VALID_MVE_PRED_MODE instead of checking for MODE_VECTOR_BOOL class.
2553 2023-02-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2555         PR target/107674
2556         * config/arm/arm.cc (arm_hard_regno_mode_ok): Use new MACRO.
2557         (arm_modes_tieable_p): Make MVE predicate modes tieable.
2558         * config/arm/arm.h (VALID_MVE_PRED_MODE):  New define.
2559         * simplify-rtx.cc (simplify_context::simplify_subreg): Teach
2560         simplify_subreg to simplify subregs where the outermode is not scalar.
2562 2023-02-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2564         PR target/107674
2565         * config/arm/arm-builtins.cc (arm_simd_builtin_type): Rewrite to use
2566         new qualifiers parameter and use unsigned short type for MVE predicate.
2567         (arm_init_builtin): Call arm_simd_builtin_type with qualifiers
2568         parameter.
2569         (arm_init_crypto_builtins): Likewise.
2571 2023-02-02  Jakub Jelinek  <jakub@redhat.com>
2573         PR ipa/107300
2574         * builtins.def (BUILT_IN_UNREACHABLE_TRAP): New builtin.
2575         * internal-fn.def (TRAP): Remove.
2576         * internal-fn.cc (expand_TRAP): Remove.
2577         * tree.cc (build_common_builtin_nodes): Define
2578         BUILT_IN_UNREACHABLE_TRAP if not yet defined.
2579         (builtin_decl_unreachable): Use BUILT_IN_UNREACHABLE_TRAP
2580         instead of BUILT_IN_TRAP.
2581         * gimple.cc (gimple_build_builtin_unreachable): Remove
2582         emitting internal function for BUILT_IN_TRAP.
2583         * asan.cc (maybe_instrument_call): Handle BUILT_IN_UNREACHABLE_TRAP.
2584         * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Handle
2585         BUILT_IN_UNREACHABLE_TRAP instead of BUILT_IN_TRAP.
2586         * ipa-devirt.cc (possible_polymorphic_call_target_p): Handle
2587         BUILT_IN_UNREACHABLE_TRAP.
2588         * builtins.cc (expand_builtin, is_inexpensive_builtin): Likewise.
2589         * tree-cfg.cc (verify_gimple_call,
2590         pass_warn_function_return::execute): Likewise.
2591         * attribs.cc (decl_attributes): Don't report exclusions on
2592         BUILT_IN_UNREACHABLE_TRAP either.
2594 2023-02-02  liuhongt  <hongtao.liu@intel.com>
2596         PR tree-optimization/108601
2597         * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Removed.
2598         * tree-vect-loop.cc
2599         (vectorizable_nonlinear_induction): Remove
2600         vect_can_peel_nonlinear_iv_p.
2601         (vect_can_peel_nonlinear_iv_p): Don't peel
2602         nonlinear iv(mult or shift) for epilog when vf is not
2603         constant and moved the defination to ..
2604         * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p):
2605         .. Here.
2607 2023-02-02  Jakub Jelinek  <jakub@redhat.com>
2609         PR middle-end/108435
2610         * tree-nested.cc (convert_nonlocal_omp_clauses)
2611         <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
2612         is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
2613         before calling declare_vars.
2614         (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
2615         with the OMP_CLAUSE_LASTPRIVATE handling except for whether
2616         seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
2617         or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).
2619 2023-02-01  Tamar Christina  <tamar.christina@arm.com>
2621         * common/config/aarch64/aarch64-common.cc
2622         (struct aarch64_option_extension): Add native_detect and document struct
2623         a bit more.
2624         (all_extensions): Set new field native_detect.
2625         * config/aarch64/aarch64.cc (struct aarch64_option_extension): Delete
2626         unused struct.
2628 2023-02-01  Martin Liska  <mliska@suse.cz>
2630         * ipa-devirt.cc (odr_types_equivalent_p): Respect *warned
2631         value if set.
2633 2023-02-01  Andrew MacLeod  <amacleod@redhat.com>
2635         PR tree-optimization/108356
2636         * gimple-range-cache.cc (ranger_cache::range_on_edge): Always
2637         do a search of the DOM tree for a range.
2639 2023-02-01  Martin Liska  <mliska@suse.cz>
2641         PR ipa/108509
2642         * cgraphunit.cc (walk_polymorphic_call_targets): Insert
2643         ony non-null values.
2644         * ipa.cc (walk_polymorphic_call_targets): Likewise.
2646 2023-02-01  Martin Liska  <mliska@suse.cz>
2648         PR driver/108572
2649         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Report error only for
2650         -gz=zstd.
2652 2023-02-01  Jakub Jelinek  <jakub@redhat.com>
2654         PR debug/108573
2655         * ree.cc (combine_reaching_defs): Don't return false for paradoxical
2656         subregs in DEBUG_INSNs.
2658 2023-02-01  Richard Sandiford  <richard.sandiford@arm.com>
2660         * compare-elim.cc (find_flags_uses_in_insn): Guard use of SET_SRC.
2662 2023-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
2664         * config/s390/s390.cc (s390_restore_gpr_p): New function.
2665         (s390_preserve_gpr_arg_in_range_p): New function.
2666         (s390_preserve_gpr_arg_p): New function.
2667         (s390_preserve_fpr_arg_p): New function.
2668         (s390_register_info_stdarg_fpr): Rename to ...
2669         (s390_register_info_arg_fpr): ... this. Add -mpreserve-args handling.
2670         (s390_register_info_stdarg_gpr): Rename to ...
2671         (s390_register_info_arg_gpr): ... this. Add -mpreserve-args handling.
2672         (s390_register_info): Use the renamed functions above.
2673         (s390_optimize_register_info): Likewise.
2674         (save_fpr): Generate CFI for -mpreserve-args.
2675         (save_gprs): Generate CFI for -mpreserve-args. Drop return value.
2676         (s390_emit_prologue): Adjust to changed calling convention of save_gprs.
2677         (s390_optimize_prologue): Likewise.
2678         * config/s390/s390.opt: New option -mpreserve-args
2680 2023-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
2682         * config/s390/s390.cc (save_gprs): Use gen_frame_mem.
2683         (restore_gprs): Likewise.
2684         (s390_emit_stack_tie): Make the stack_tie to be dependent on the
2685         frame pointer if a frame-pointer is used.
2686         (s390_emit_prologue): Emit stack_tie when frame-pointer is needed.
2687         * config/s390/s390.md (stack_tie): Add a register operand and
2688         rename to ...
2689         (@stack_tie<mode>): ... this.
2691 2023-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
2693         * dwarf2cfi.cc (dwarf2out_frame_debug_cfa_restore): Add
2694         EMIT_CFI parameter.
2695         (dwarf2out_frame_debug): Add case for REG_CFA_NORESTORE.
2696         * reg-notes.def (REG_CFA_NOTE): New reg note definition.
2698 2023-02-01  Richard Biener  <rguenther@suse.de>
2700         PR middle-end/108500
2701         * dominance.cc (assign_dfs_numbers): Replace recursive DFS
2702         with tree traversal algorithm.
2704 2023-02-01  Jason Merrill  <jason@redhat.com>
2706         * doc/invoke.texi: Document -Wno-changes-meaning.
2708 2023-02-01  David Malcolm  <dmalcolm@redhat.com>
2710         * doc/invoke.texi (Static Analyzer Options): Add notes about
2711         limitations of -fanalyzer.
2713 2023-01-31  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2715         * config/riscv/constraints.md (vj): New.
2716         (vk): Ditto
2717         * config/riscv/iterators.md: Add more opcode.
2718         * config/riscv/predicates.md (vector_arith_operand): New.
2719         (vector_neg_arith_operand): New.
2720         (vector_shift_operand): New.
2721         * config/riscv/riscv-vector-builtins-bases.cc (class binop): New.
2722         * config/riscv/riscv-vector-builtins-bases.h: (vadd): New.
2723         (vsub): Ditto.
2724         (vand): Ditto.
2725         (vor): Ditto.
2726         (vxor): Ditto.
2727         (vsll): Ditto.
2728         (vsra): Ditto.
2729         (vsrl): Ditto.
2730         (vmin): Ditto.
2731         (vmax): Ditto.
2732         (vminu): Ditto.
2733         (vmaxu): Ditto.
2734         (vmul): Ditto.
2735         (vdiv): Ditto.
2736         (vrem): Ditto.
2737         (vdivu): Ditto.
2738         (vremu): Ditto.
2739         * config/riscv/riscv-vector-builtins-functions.def (vadd): New.
2740         (vsub): Ditto.
2741         (vand): Ditto.
2742         (vor): Ditto.
2743         (vxor): Ditto.
2744         (vsll): Ditto.
2745         (vsra): Ditto.
2746         (vsrl): Ditto.
2747         (vmin): Ditto.
2748         (vmax): Ditto.
2749         (vminu): Ditto.
2750         (vmaxu): Ditto.
2751         (vmul): Ditto.
2752         (vdiv): Ditto.
2753         (vrem): Ditto.
2754         (vdivu): Ditto.
2755         (vremu): Ditto.
2756         * config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): New.
2757         * config/riscv/riscv-vector-builtins-shapes.h (binop): New.
2758         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New.
2759         (DEF_RVV_U_OPS): New.
2760         (rvv_arg_type_info::get_base_vector_type): Handle
2761         RVV_BASE_shift_vector.
2762         (rvv_arg_type_info::get_tree_type): Ditto.
2763         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add
2764         RVV_BASE_shift_vector.
2765         * config/riscv/riscv.cc (riscv_print_operand): Handle 'V'.
2766         * config/riscv/vector-iterators.md: Handle more opcode.
2767         * config/riscv/vector.md (@pred_<optab><mode>): New.
2769 2023-01-31  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2771         PR target/108589
2772         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
2773         REG_P on SET_DEST.
2775 2023-01-31  Richard Sandiford  <richard.sandiford@arm.com>
2777         PR tree-optimization/108608
2778         * tree-vect-loop.cc (vect_transform_reduction): Handle single
2779         def-use cycles that involve function calls rather than tree codes.
2781 2023-01-31  Andrew MacLeod  <amacleod@redhat.com>
2783         PR tree-optimization/108385
2784         * gimple-range-gori.cc (gori_compute::compute_operand_range):
2785         Allow VARYING computations to continue if there is a relation.
2786         * range-op.cc (pointer_plus_operator::op2_range): New.
2788 2023-01-31  Andrew MacLeod  <amacleod@redhat.com>
2790         PR tree-optimization/108359
2791         * range-op.cc (range_operator::wi_fold_in_parts_equiv): New.
2792         (range_operator::fold_range): If op1 is equivalent to op2 then
2793         invoke new fold_in_parts_equiv to operate on sub-components.
2794         * range-op.h (wi_fold_in_parts_equiv): New prototype.
2796 2023-01-31  Andrew MacLeod  <amacleod@redhat.com>
2798         * gimple-range-gori.cc (gori_compute::compute_operand_range): Do
2799         not abort calculations if there is a valid relation available.
2800         (gori_compute::refine_using_relation): Pass correct relation trio.
2801         (gori_compute::compute_operand1_range): Create trio and use it.
2802         (gori_compute::compute_operand2_range): Ditto.
2803         * range-op.cc (operator_plus::op1_range): Use correct trio member.
2804         (operator_minus::op1_range): Use correct trio member.
2805         * value-relation.cc (value_relation::create_trio): New.
2806         * value-relation.h (value_relation::create_trio): New prototype.
2808 2023-01-31  Jakub Jelinek  <jakub@redhat.com>
2810         PR target/108599
2811         * config/i386/i386-expand.cc
2812         (ix86_convert_const_wide_int_to_broadcast): Return nullptr if
2813         CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
2814         equal to bitsize of mode.
2816 2023-01-31  Jakub Jelinek  <jakub@redhat.com>
2818         PR rtl-optimization/108596
2819         * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
2820         ends with asm goto and has a crossing fallthrough edge to the same bb
2821         that contains at least one of its labels by restoring EDGE_CROSSING
2822         flag even on possible edge from cur_bb to new_bb successor.
2824 2023-01-31  Jakub Jelinek  <jakub@redhat.com>
2826         PR c++/105593
2827         * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
2828         _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
2829         _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
2830         _mm512_undefined_pd () or _mm512_undefined_ps () instead of using
2831         uninitialized automatic variable __W.
2833 2023-01-31  Gerald Pfeifer  <gerald@pfeifer.com>
2835         * doc/include/fdl.texi: Change fsf.org to www.fsf.org.
2837 2023-01-30  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2839         * config/riscv/riscv-protos.h (get_vector_mode): New function.
2840         * config/riscv/riscv-v.cc (get_vector_mode): Ditto.
2841         * config/riscv/riscv-vector-builtins-bases.cc (enum lst_type): New enum.
2842         (class loadstore): Adjust for indexed loads/stores support.
2843         (BASE): Ditto.
2844         * config/riscv/riscv-vector-builtins-bases.h: New function declare.
2845         * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Ditto.
2846         (vluxei16): Ditto.
2847         (vluxei32): Ditto.
2848         (vluxei64): Ditto.
2849         (vloxei8): Ditto.
2850         (vloxei16): Ditto.
2851         (vloxei32): Ditto.
2852         (vloxei64): Ditto.
2853         (vsuxei8): Ditto.
2854         (vsuxei16): Ditto.
2855         (vsuxei32): Ditto.
2856         (vsuxei64): Ditto.
2857         (vsoxei8): Ditto.
2858         (vsoxei16): Ditto.
2859         (vsoxei32): Ditto.
2860         (vsoxei64): Ditto.
2861         * config/riscv/riscv-vector-builtins-shapes.cc
2862         (struct indexed_loadstore_def): New class.
2863         (SHAPE): Ditto.
2864         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
2865         * config/riscv/riscv-vector-builtins.cc (required_extensions_p): Adjust
2866         for indexed loads/stores support.
2867         (check_required_extensions): Ditto.
2868         (rvv_arg_type_info::get_base_vector_type): New function.
2869         (rvv_arg_type_info::get_tree_type): Ditto.
2870         (function_builder::add_unique_function): Adjust for indexed loads/stores
2871         support.
2872         (function_expander::use_exact_insn): New function.
2873         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Adjust for
2874         indexed loads/stores support.
2875         (struct rvv_arg_type_info): Ditto.
2876         (function_expander::index_mode): New function.
2877         (function_base::apply_tail_policy_p): Ditto.
2878         (function_base::apply_mask_policy_p): Ditto.
2879         * config/riscv/vector-iterators.md (unspec): New unspec.
2880         * config/riscv/vector.md (unspec): Ditto.
2881         (@pred_indexed_<order>load<VNX1_QHSD:mode><VNX1_QHSDI:mode>): New
2882         pattern.
2883         (@pred_indexed_<order>store<VNX1_QHSD:mode><VNX1_QHSDI:mode>): Ditto.
2884         (@pred_indexed_<order>load<VNX2_QHSD:mode><VNX2_QHSDI:mode>): Ditto.
2885         (@pred_indexed_<order>store<VNX2_QHSD:mode><VNX2_QHSDI:mode>): Ditto.
2886         (@pred_indexed_<order>load<VNX4_QHSD:mode><VNX4_QHSDI:mode>): Ditto.
2887         (@pred_indexed_<order>store<VNX4_QHSD:mode><VNX4_QHSDI:mode>): Ditto.
2888         (@pred_indexed_<order>load<VNX8_QHSD:mode><VNX8_QHSDI:mode>): Ditto.
2889         (@pred_indexed_<order>store<VNX8_QHSD:mode><VNX8_QHSDI:mode>): Ditto.
2890         (@pred_indexed_<order>load<VNX16_QHS:mode><VNX16_QHSI:mode>): Ditto.
2891         (@pred_indexed_<order>store<VNX16_QHS:mode><VNX16_QHSI:mode>): Ditto.
2892         (@pred_indexed_<order>load<VNX32_QH:mode><VNX32_QHI:mode>): Ditto.
2893         (@pred_indexed_<order>store<VNX32_QH:mode><VNX32_QHI:mode>): Ditto.
2894         (@pred_indexed_<order>load<VNX64_Q:mode><VNX64_Q:mode>): Ditto.
2895         (@pred_indexed_<order>store<VNX64_Q:mode><VNX64_Q:mode>): Ditto.
2897 2023-01-30  Flavio Cruz  <flaviocruz@gmail.com>
2899         * config.gcc: Recognize x86_64-*-gnu* targets and include
2900         i386/gnu64.h.
2901         * config/i386/gnu64.h: Define configuration for new target
2902         including ld.so location.
2904 2023-01-30  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2906         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
2907         ampere1a to include SM4.
2909 2023-01-30  Andrew Pinski  <apinski@marvell.com>
2911         PR tree-optimization/108582
2912         * tree-ssa-phiopt.cc (match_simplify_replacement): Add check
2913         for middlebb to have no phi nodes.
2915 2023-01-30  Richard Biener  <rguenther@suse.de>
2917         PR tree-optimization/108574
2918         * tree-ssa-sccvn.cc (visit_phi): Instead of swapping
2919         sameval and def, ignore the equivalence if there's the
2920         danger of oscillating between two values.
2922 2023-01-30  Andreas Schwab  <schwab@suse.de>
2924         * common/config/riscv/riscv-common.cc
2925         (riscv_option_optimization_table)
2926         [TARGET_DEFAULT_ASYNC_UNWIND_TABLES]: Enable
2927         -fasynchronous-unwind-tables and -funwind-tables.
2928         * config.gcc (riscv*-*-linux*): Define
2929         TARGET_DEFAULT_ASYNC_UNWIND_TABLES.
2931 2023-01-30  YunQiang Su  <yunqiang.su@cipunited.com>
2933         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): set according the
2934         value of includedir.
2936 2023-01-30  Richard Biener  <rguenther@suse.de>
2938         PR ipa/108511
2939         * cgraph.cc (possibly_call_in_translation_unit_p): Relax
2940         assert.
2942 2023-01-30  liuhongt  <hongtao.liu@intel.com>
2944         * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
2945         * doc/invoke.texi: Ditto.
2947 2023-01-29  Jan Hubicka  <hubicka@ucw.cz>
2949         * ipa-utils.cc: Include calls.h, cfgloop.h and cfganal.h
2950         (stmt_may_terminate_function_p): If assuming return or EH
2951         volatile asm is safe.
2952         (find_always_executed_bbs): Fix handling of terminating BBS and
2953         infinite loops; add debug output.
2954         * tree-ssa-alias.cc (stmt_kills_ref_p): Fix debug output
2956 2023-01-28  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2958         * config/aarch64/aarch64.cc (aarch64_uxt_size): fix an
2959         off-by-one in checking the permissible shift-amount.
2961 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
2963         * doc/extend.texi (Named Address Spaces): Update link to the
2964         AVR-Libc manual.
2966 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
2968         * doc/standards.texi (Standards): Fix markup.
2970 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
2972         * doc/standards.texi (Standards): Update link to Objective-C book.
2974 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
2976         * doc/invoke.texi (Instrumentation Options): Update reference to
2977         AddressSanitizer.
2979 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
2981         * doc/standards.texi: Update Go1 link.
2983 2023-01-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2985         * config/riscv/predicates.md (pmode_reg_or_0_operand): New predicate.
2986         * config/riscv/riscv-vector-builtins-bases.cc (class loadstore):
2987         Support vlse/vsse.
2988         (BASE): Ditto.
2989         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
2990         * config/riscv/riscv-vector-builtins-functions.def (vlse): New class.
2991         (vsse): New class.
2992         * config/riscv/riscv-vector-builtins.cc
2993         (function_expander::use_contiguous_load_insn): Support vlse/vsse.
2994         * config/riscv/vector.md (@pred_strided_load<mode>): New md pattern.
2995         (@pred_strided_store<mode>): Ditto.
2997 2023-01-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
2999         * config/riscv/vector.md (tail_policy_op_idx): Remove.
3000         (mask_policy_op_idx): Remove.
3001         (avl_type_op_idx): Remove.
3003 2023-01-27  Richard Sandiford  <richard.sandiford@arm.com>
3005         PR tree-optimization/96373
3006         * tree.h (sign_mask_for): Declare.
3007         * tree.cc (sign_mask_for): New function.
3008         (signed_or_unsigned_type_for): For vector types, try to use the
3009         related_int_vector_mode.
3010         * genmatch.cc (commutative_op): Handle conditional internal functions.
3011         * match.pd: Fold an IFN_COND_MUL+copysign into an IFN_COND_XOR+and.
3013 2023-01-27  Richard Sandiford  <richard.sandiford@arm.com>
3015         * tree-vectorizer.cc (vector_costs::compare_inside_loop_cost):
3016         Use the likely minimum VF when bounding the denominators to
3017         the estimated number of iterations.
3019 2023-01-27  Richard Biener  <rguenther@suse.de>
3021         PR target/55522
3022         * doc/invoke.texi (-shared): Clarify effect on -ffast-math
3023         and -Ofast FP environment side-effects.
3025 2023-01-27  Richard Biener  <rguenther@suse.de>
3027         PR target/55522
3028         * config/mips/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC):
3029         Don't add crtfastmath.o for -shared.
3031 2023-01-27  Richard Biener  <rguenther@suse.de>
3033         PR target/55522
3034         * config/ia64/linux.h (ENDFILE_SPEC): Don't add crtfastmath.o
3035         for -shared.
3037 2023-01-27  Richard Biener  <rguenther@suse.de>
3039         PR target/55522
3040         * config/alpha/linux.h (ENDFILE_SPEC): Don't add
3041         crtfastmath.o for -shared.
3043 2023-01-27  Andrew MacLeod  <amacleod@redhat.com>
3045         PR tree-optimization/108306
3046         * range-op.cc (operator_lshift::fold_range): Return [0, 0] not
3047         varying for shifts that are always out of void range.
3048         (operator_rshift::fold_range): Return [0, 0] not
3049         varying for shifts that are always out of void range.
3051 2023-01-27  Andrew MacLeod  <amacleod@redhat.com>
3053         PR tree-optimization/108447
3054         * gimple-range-fold.cc (old_using_range::relation_fold_and_or):
3055         Do not attempt to fold HONOR_NAN types.
3057 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3059         * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def):
3060         Remove _m suffix for "vop_m" C++ overloaded API name.
3062 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3064         * config/riscv/riscv-vector-builtins-bases.cc (BASE): Add vlm/vsm support.
3065         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
3066         * config/riscv/riscv-vector-builtins-functions.def (vlm): New define.
3067         (vsm): Ditto.
3068         * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): Add vlm/vsm support.
3069         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_B_OPS): Ditto.
3070         (vbool64_t): Ditto.
3071         (vbool32_t): Ditto.
3072         (vbool16_t): Ditto.
3073         (vbool8_t): Ditto.
3074         (vbool4_t): Ditto.
3075         (vbool2_t): Ditto.
3076         (vbool1_t): Ditto.
3077         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_B_OPS): Ditto.
3078         (rvv_arg_type_info::get_tree_type): Ditto.
3079         (function_expander::use_contiguous_load_insn): Ditto.
3080         * config/riscv/vector.md (@pred_store<mode>): Ditto.
3082 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3084         * config/riscv/riscv-vsetvl.cc (vsetvl_insn_p): Add condition to avoid ICE.
3085         (vsetvl_discard_result_insn_p): New function.
3086         (reg_killed_by_bb_p): rename to find_reg_killed_by.
3087         (find_reg_killed_by): New name.
3088         (get_vl): allow it to be called by more functions.
3089         (has_vsetvl_killed_avl_p): Add condition.
3090         (get_avl): allow it to be called by more functions.
3091         (insn_should_be_added_p): New function.
3092         (get_all_nonphi_defs): Refine function.
3093         (get_all_sets): Ditto.
3094         (get_same_bb_set): New function.
3095         (any_insn_in_bb_p): Ditto.
3096         (any_set_in_bb_p): Ditto.
3097         (get_vl_vtype_info): Add VLMAX forward optimization.
3098         (source_equal_p): Fix issues.
3099         (extract_single_source): Refine.
3100         (avl_info::multiple_source_equal_p): New function.
3101         (avl_info::operator==): Adjust for final version.
3102         (vl_vtype_info::operator==): Ditto.
3103         (vl_vtype_info::same_avl_p): Ditto.
3104         (vector_insn_info::parse_insn): Ditto.
3105         (vector_insn_info::available_p): New function.
3106         (vector_insn_info::merge): Adjust for final version.
3107         (vector_insn_info::dump): Add hard_empty.
3108         (pass_vsetvl::hard_empty_block_p): New function.
3109         (pass_vsetvl::backward_demand_fusion): Adjust for final version.
3110         (pass_vsetvl::forward_demand_fusion): Ditto.
3111         (pass_vsetvl::demand_fusion): Ditto.
3112         (pass_vsetvl::cleanup_illegal_dirty_blocks): New function.
3113         (pass_vsetvl::compute_local_properties): Adjust for final version.
3114         (pass_vsetvl::can_refine_vsetvl_p): Ditto.
3115         (pass_vsetvl::refine_vsetvls): Ditto.
3116         (pass_vsetvl::commit_vsetvls): Ditto.
3117         (pass_vsetvl::propagate_avl): New function.
3118         (pass_vsetvl::lazy_vsetvl): Adjust for new version.
3119         * config/riscv/riscv-vsetvl.h (enum def_type): New enum.
3121 2023-01-27  Jakub Jelinek  <jakub@redhat.com>
3123         PR other/108560
3124         * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
3125         from size_t to int.
3127 2023-01-27  Jakub Jelinek  <jakub@redhat.com>
3129         PR ipa/106061
3130         * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Allow
3131         redirection of calls to __builtin_trap in addition to redirection
3132         to __builtin_unreachable.
3134 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3136         * config/riscv/riscv-vsetvl.cc (before_p): Fix bug.
3138 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3140         * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Refine function args.
3141         (emit_vsetvl_insn): Ditto.
3143 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3145         * config/riscv/vector.md: Fix constraints.
3147 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3149         * config/riscv/vector-iterators.md: Add TARGET_MIN_VLEN > 32 predicates.
3151 2023-01-27  Patrick Palka  <ppalka@redhat.com>
3152             Jakub Jelinek  <jakub@redhat.com>
3154         * tree-core.h (tree_code_type, tree_code_length): For
3155         C++17 and later, add inline keyword, otherwise don't define
3156         the arrays, but declare extern arrays.
3157         * tree.cc (tree_code_type, tree_code_length): Define these
3158         arrays for C++14 and older.
3160 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3162         * config/riscv/riscv-vsetvl.h: Change it into public.
3164 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3166         * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Reorder VSETVL
3167         pass.
3169 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3171         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::execute): Always call split_all_insns.
3173 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3175         * config/riscv/vector.md: Fix incorrect attributes.
3177 2023-01-27  Richard Biener  <rguenther@suse.de>
3179         PR target/55522
3180         * config/loongarch/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC):
3181         Don't add crtfastmath.o for -shared.
3183 2023-01-27  Alexandre Oliva  <oliva@gnu.org>
3185         * doc/options.texi (option, RejectNegative): Mention that
3186         -g-started options are also implicitly negatable.
3188 2023-01-26  Kito Cheng  <kito.cheng@sifive.com>
3190         * config/riscv/riscv-vector-builtins.cc (register_builtin_types):
3191         Use get_typenode_from_name to get fixed-width integer type
3192         nodes.
3193         * config/riscv/riscv-vector-builtins.def: Update define with
3194         fixed-width integer type nodes.
3196 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3198         * config/riscv/riscv-vsetvl.cc (same_bb_and_before_p): Remove it.
3199         (real_insn_and_same_bb_p): New function.
3200         (same_bb_and_after_or_equal_p): Remove it.
3201         (before_p): New function.
3202         (reg_killed_by_bb_p): Ditto.
3203         (has_vsetvl_killed_avl_p): Ditto.
3204         (get_vl): Move location so that we can call it.
3205         (anticipatable_occurrence_p): Fix issue of AVL=REG support.
3206         (available_occurrence_p): Ditto.
3207         (dominate_probability_p): Remove it.
3208         (can_backward_propagate_p): Remove it.
3209         (get_all_nonphi_defs): New function.
3210         (get_all_predecessors): Ditto.
3211         (any_insn_in_bb_p): Ditto.
3212         (insert_vsetvl): Adjust AVL REG.
3213         (source_equal_p): New function.
3214         (extract_single_source): Ditto.
3215         (avl_info::single_source_equal_p): Ditto.
3216         (avl_info::operator==): Adjust for AVL=REG.
3217         (vl_vtype_info::same_avl_p): Ditto.
3218         (vector_insn_info::set_demand_info): Remove it.
3219         (vector_insn_info::compatible_p): Adjust for AVL=REG.
3220         (vector_insn_info::compatible_avl_p): New function.
3221         (vector_insn_info::merge): Adjust AVL=REG.
3222         (vector_insn_info::dump): Ditto.
3223         (pass_vsetvl::merge_successors): Remove it.
3224         (enum fusion_type): New enum.
3225         (pass_vsetvl::get_backward_fusion_type): New function.
3226         (pass_vsetvl::backward_demand_fusion): Adjust for AVL=REG.
3227         (pass_vsetvl::forward_demand_fusion): Ditto.
3228         (pass_vsetvl::demand_fusion): Ditto.
3229         (pass_vsetvl::prune_expressions): Ditto.
3230         (pass_vsetvl::compute_local_properties): Ditto.
3231         (pass_vsetvl::cleanup_vsetvls): Ditto.
3232         (pass_vsetvl::commit_vsetvls): Ditto.
3233         (pass_vsetvl::init): Ditto.
3234         * config/riscv/riscv-vsetvl.h (enum fusion_type): New enum.
3235         (enum merge_type): New enum.
3237 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3239         * config/riscv/riscv-vsetvl.cc
3240         (vector_infos_manager::vector_infos_manager): Add probability.
3241         (vector_infos_manager::dump): Ditto.
3242         (pass_vsetvl::compute_probabilities): Ditto.
3243         * config/riscv/riscv-vsetvl.h (struct vector_block_info): Ditto.
3245 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3247         * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Remove dirty_pat.
3248         (vector_insn_info::merge): Ditto.
3249         (vector_insn_info::dump): Ditto.
3250         (pass_vsetvl::merge_successors): Ditto.
3251         (pass_vsetvl::backward_demand_fusion): Ditto.
3252         (pass_vsetvl::forward_demand_fusion): Ditto.
3253         (pass_vsetvl::commit_vsetvls): Ditto.
3254         * config/riscv/riscv-vsetvl.h: Ditto.
3256 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3258         * config/riscv/riscv-vsetvl.cc (add_label_notes): Rename insn to
3259         rinsn.
3261 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3263         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::backward_demand_fusion): Refine codes.
3265 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3267         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::forward_demand_fusion):
3268         Add pre-check for redundant flow.
3270 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3272         * config/riscv/riscv-vsetvl.cc (vector_infos_manager::create_bitmap_vectors): New function.
3273         (vector_infos_manager::free_bitmap_vectors): Ditto.
3274         (pass_vsetvl::pre_vsetvl): Adjust codes.
3275         * config/riscv/riscv-vsetvl.h: New function declaration.
3277 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3279         * config/riscv/riscv-vsetvl.cc (can_backward_propagate_p): Fix for null iter_bb.
3280         (vector_insn_info::set_demand_info): New function.
3281         (pass_vsetvl::emit_local_forward_vsetvls): Adjust for refinement of Phase 3.
3282         (pass_vsetvl::merge_successors): Ditto.
3283         (pass_vsetvl::compute_global_backward_infos): Ditto.
3284         (pass_vsetvl::backward_demand_fusion): Ditto.
3285         (pass_vsetvl::forward_demand_fusion): Ditto.
3286         (pass_vsetvl::demand_fusion): New function.
3287         (pass_vsetvl::lazy_vsetvl): Adjust for refinement of phase 3.
3288         * config/riscv/riscv-vsetvl.h: New function declaration.
3290 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3292         * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator>=): Fix available condition.
3294 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3296         * config/riscv/riscv-vsetvl.cc (change_vsetvl_insn): New function.
3297         (pass_vsetvl::compute_global_backward_infos): Simplify codes.
3299 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3301         * config/riscv/riscv-vsetvl.cc (loop_basic_block_p): Adjust function.
3302         (backward_propagate_worthwhile_p): Fix non-worthwhile.
3304 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3306         * config/riscv/riscv-vsetvl.cc (change_insn): Adjust in_group in validate_change.
3308 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3310         * config/riscv/riscv-vsetvl.cc (vector_infos_manager::all_same_avl_p): New function.
3311         (pass_vsetvl::can_refine_vsetvl_p): Add AVL check.
3312         (pass_vsetvl::commit_vsetvls): Ditto.
3313         * config/riscv/riscv-vsetvl.h: New function declaration.
3315 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3317         * config/riscv/vector.md:
3319 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3321         * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): use
3322         pred_store for vse.
3323         * config/riscv/riscv-vector-builtins.cc
3324         (function_expander::add_mem_operand): Refine function.
3325         (function_expander::use_contiguous_load_insn): Adjust new
3326         implementation.
3327         (function_expander::use_contiguous_store_insn): Ditto.
3328         * config/riscv/riscv-vector-builtins.h: Refine function.
3329         * config/riscv/vector.md (@pred_store<mode>): New pattern.
3331 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
3333         * config/riscv/riscv-vector-builtins.cc: Change to scalar pointer.
3335 2023-01-26  Marek Polacek  <polacek@redhat.com>
3337         PR middle-end/108543
3338         * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
3339         if it was previously set.
3341 2023-01-26  Jakub Jelinek  <jakub@redhat.com>
3343         PR tree-optimization/108540
3344         * range-op-float.cc (foperator_equal::fold_range): If both op1 and op2
3345         are singletons, use range_true even if op1 != op2
3346         when one range is [-0.0, -0.0] and another [0.0, 0.0].  Similarly,
3347         even if intersection of the ranges is empty and one has
3348         zero low bound and another zero high bound, use range_true_and_false
3349         rather than range_false.
3350         (foperator_not_equal::fold_range): If both op1 and op2
3351         are singletons, use range_false even if op1 != op2
3352         when one range is [-0.0, -0.0] and another [0.0, 0.0].  Similarly,
3353         even if intersection of the ranges is empty and one has
3354         zero low bound and another zero high bound, use range_true_and_false
3355         rather than range_true.
3357 2023-01-26  Jakub Jelinek  <jakub@redhat.com>
3359         * value-relation.cc (kind_string): Add const.
3360         (rr_negate_table, rr_swap_table, rr_intersect_table,
3361         rr_union_table, rr_transitive_table): Add static const, change
3362         element type from relation_kind to unsigned char.
3363         (relation_negate, relation_swap, relation_intersect, relation_union,
3364         relation_transitive): Cast rr_*_table element to relation_kind.
3365         (relation_to_code): Add static const.
3366         (relation_tests): Assert VREL_LAST is smaller than UCHAR_MAX.
3368 2023-01-26  Richard Biener  <rguenther@suse.de>
3370         PR tree-optimization/108547
3371         * gimple-predicate-analysis.cc (value_sat_pred_p):
3372         Use widest_int.
3374 2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3376         PR tree-optimization/108522
3377         * tree-object-size.cc (compute_object_offset): Make EXPR
3378         argument non-const.  Call component_ref_field_offset.
3380 2023-01-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3382         * config/aarch64/aarch64-option-extensions.def (cssc): Specify
3383         FEATURE_STRING field.
3385 2023-01-26  Gerald Pfeifer  <gerald@pfeifer.com>
3387         * doc/sourcebuild.texi: Refer to projects as GCC and GDB.
3389 2023-01-25  Iain Sandoe  <iain@sandoe.co.uk>
3391         PR modula2/102343
3392         PR modula2/108182
3393         * gcc.cc: Provide default specs for Modula-2 so that when the
3394         language is not built-in better diagnostics are emitted for
3395         attempts to use .mod or .m2i file extensions.
3397 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
3399         * config/arm/mve.md (mve_vqnegq_s<mode>): Fix spacing.
3401 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
3403         * config/arm/mve.md (mve_vqabsq_s<mode>): Fix spacing.
3405 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
3407         * config/arm/mve.md (mve_vnegq_f<mode>, mve_vnegq_s<mode>):
3408         Fix spacing.
3410 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
3412         * config/arm/mve.md (@mve_vclzq_s<mode>): Fix spacing.
3414 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
3416         * config/arm/mve.md (mve_vclsq_s<mode>): Fix spacing.
3418 2023-01-25  Richard Biener  <rguenther@suse.de>
3420         PR tree-optimization/108523
3421         * tree-ssa-sccvn.cc (visit_phi): Avoid using the exclusive
3422         backedge value for the result when using predication to
3423         prove equivalence.
3425 2023-01-25  Richard Biener  <rguenther@suse.de>
3427         * doc/lto.texi (Command line options): Reword and update reference
3428         to removed lto_read_all_file_options.
3430 2023-01-25  Richard Sandiford  <richard.sandiford@arm.com>
3432         * config/aarch64/aarch64.md (umax<mode>3): Separate the CNT and CSSC
3433         tests.
3435 2023-01-25  Gerald Pfeifer  <gerald@pfeifer.com>
3437         * doc/contrib.texi: Add Jose E. Marchesi.
3439 2023-01-25  Jakub Jelinek  <jakub@redhat.com>
3441         PR tree-optimization/108498
3442         * gimple-ssa-store-merging.cc (class store_operand_info):
3443         End coment with full stop rather than comma.
3444         (split_group): Likewise.
3445         (merged_store_group::apply_stores): Clear string_concatenation if
3446         start or end aren't on a byte boundary.
3448 2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3449             Jakub Jelinek  <jakub@redhat.com>
3451         PR tree-optimization/108522
3452         * tree-object-size.cc (compute_object_offset): Use
3453         TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
3455 2023-01-24  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
3457         * config/xtensa/xtensa.md:
3458         Fix exit from loops detecting references before overwriting in the
3459         split pattern.
3461 2023-01-24  Vladimir N. Makarov  <vmakarov@redhat.com>
3463         * lra-constraints.cc (get_hard_regno): Remove final_p arg.  Always
3464         do elimination but only for hard register.
3465         (operands_match_p, uses_hard_regs_p, process_alt_operands): Adjust
3466         calls of get_hard_regno.
3468 2023-01-24  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
3470         * config/s390/s390-d.cc (s390_d_target_versions): Fix detection
3471         of CPU version.
3473 2023-01-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>
3475         PR target/108177
3476         * config/arm/mve.md (mve_vstrbq_p_<supf><mode>, mve_vstrhq_p_fv8hf,
3477         mve_vstrhq_p_<supf><mode>, mve_vstrwq_p_<supf>v4si): Add memory operand
3478         as input operand.
3480 2023-01-24  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
3482         * config.gcc(csky-*-linux*): Define CSKY_ENABLE_MULTILIB
3483         and only include 'csky/t-csky-linux' when enable multilib.
3484         * config/csky/csky-linux-elf.h(SYSROOT_SUFFIX_SPEC): Don't
3485         define it when disable multilib.
3487 2023-01-24  Richard Biener  <rguenther@suse.de>
3489         PR tree-optimization/108500
3490         * dominance.h (calculate_dominance_info): Add parameter
3491         to indicate fast-query compute, defaulted to true.
3492         * dominance.cc (calculate_dominance_info): Honor
3493         fast-query compute parameter.
3494         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Do
3495         not compute the dominator fast-query DFS numbers.
3497 2023-01-24  Eric Biggers  <ebiggers@google.com>
3499         PR bootstrap/90543
3500         * optc-save-gen.awk: Fix copy-and-paste error.
3502 2023-01-24  Jakub Jelinek  <jakub@redhat.com>
3504         PR c++/108474
3505         * cgraphbuild.cc: Include gimplify.h.
3506         (record_reference): Replace VAR_DECLs with DECL_HAS_VALUE_EXPR_P with
3507         their corresponding DECL_VALUE_EXPR expressions after unsharing.
3509 2023-01-24  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3511         PR target/108505
3512         * config.gcc (tm_file): Move the variable out of loop.
3514 2023-01-24  Lulu Cheng  <chenglulu@loongson.cn>
3515             Yang Yujie  <yangyujie@loongson.cn>
3517         PR target/107731
3518         * config/loongarch/loongarch.cc (loongarch_classify_address):
3519         Add precessint for CONST_INT.
3520         (loongarch_print_operand_reloc): Operand modifier 'c' is supported.
3521         (loongarch_print_operand): Increase the processing of '%c'.
3522         * doc/extend.texi: Adds documents for LoongArch operand modifiers.
3523         And port the public operand modifiers information to this document.
3525 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3527         * doc/invoke.texi (-mbranch-protection): Update documentation.
3529 2023-01-23  Richard Biener  <rguenther@suse.de>
3531         PR target/55522
3532         * config/sparc/freebsd.h (ENDFILE_SPEC): Don't add crtfastmath.o
3533         for -shared.
3534         * config/sparc/linux.h (ENDFILE_SPEC): Likewise.
3535         * config/sparc/linux64.h (ENDFILE_SPEC): Likewise.
3536         * config/sparc/sp-elf.h (ENDFILE_SPEC): Likewise.
3537         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Likewise.
3539 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3541         * config/arm/aout.h (ra_auth_code): Add entry in enum.
3542         * config/arm/arm.cc (emit_multi_reg_push): Add RA_AUTH_CODE register
3543         to dwarf frame expression.
3544         (arm_emit_multi_reg_pop): Restore RA_AUTH_CODE register.
3545         (arm_expand_prologue): Update frame related information and reg notes
3546         for pac/pacbit insn.
3547         (arm_regno_class): Check for pac pseudo reigster.
3548         (arm_dbx_register_number): Assign ra_auth_code register number in dwarf.
3549         (arm_init_machine_status): Set pacspval_needed to zero.
3550         (arm_debugger_regno): Check for PAC register.
3551         (arm_unwind_emit_sequence): Print .save directive with ra_auth_code
3552         register.
3553         (arm_unwind_emit_set): Add entry for IP_REGNUM in switch case.
3554         (arm_unwind_emit): Update REG_CFA_REGISTER case._
3555         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Modify.
3556         (DWARF_PAC_REGNUM): Define.
3557         (IS_PAC_REGNUM): Likewise.
3558         (enum reg_class): Add PAC_REG entry.
3559         (machine_function): Add pacbti_needed state to structure.
3560         * config/arm/arm.md (RA_AUTH_CODE): Define.
3562 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3564         * config.gcc ($tm_file): Update variable.
3565         * config/arm/arm-mlib.h: Create new header file.
3566         * config/arm/t-rmprofile (MULTI_ARCH_DIRS_RM): Rename mbranch-protection
3567         multilib arch directory.
3568         (MULTILIB_REUSE): Add multilib reuse rules.
3569         (MULTILIB_MATCHES): Add multilib match rules.
3571 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3573         * config/arm/arm-cpus.in (cortex-m85): Define new CPU.
3574         * config/arm/arm-tables.opt: Regenerate.
3575         * config/arm/arm-tune.md: Likewise.
3576         * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m85.
3577         * (-mfix-cmse-cve-2021-35465): Likewise.
3579 2023-01-23  Richard Biener  <rguenther@suse.de>
3581         PR tree-optimization/108482
3582         * tree-vect-generic.cc (expand_vector_operations): Fold remaining
3583         .LOOP_DIST_ALIAS calls.
3585 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3587         * config.gcc (arm*-*-*): Add 'aarch-bti-insert.o' object.
3588         * config/arm/arm-protos.h: Update.
3589         * config/arm/aarch-common-protos.h: Declare
3590         'aarch_bti_arch_check'.
3591         * config/arm/arm.cc (aarch_bti_enabled) Update.
3592         (aarch_bti_j_insn_p, aarch_pac_insn_p, aarch_gen_bti_c)
3593         (aarch_gen_bti_j, aarch_bti_arch_check): New functions.
3594         * config/arm/arm.md (bti_nop): New insn.
3595         * config/arm/t-arm (PASSES_EXTRA): Add 'arm-passes.def'.
3596         (aarch-bti-insert.o): New target.
3597         * config/arm/unspecs.md (VUNSPEC_BTI_NOP): New unspec.
3598         * config/arm/aarch-bti-insert.cc (rest_of_insert_bti): Verify arch
3599         compatibility.
3600         (gate): Make use of 'aarch_bti_arch_check'.
3601         * config/arm/arm-passes.def: New file.
3602         * config/aarch64/aarch64.cc (aarch_bti_arch_check): New function.
3604 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3606         * config.gcc (aarch64*-*-*): Rename 'aarch64-bti-insert.o' into
3607         'aarch-bti-insert.o'.
3608         * config/aarch64/aarch64-protos.h: Remove 'aarch64_bti_enabled'
3609         proto.
3610         * config/aarch64/aarch64.cc (aarch_bti_enabled): Rename.
3611         (aarch_bti_j_insn_p, aarch_pac_insn_p): New functions.
3612         (aarch64_output_mi_thunk)
3613         (aarch64_print_patchable_function_entry)
3614         (aarch64_file_end_indicate_exec_stack): Update renamed function
3615         calls to renamed functions.
3616         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise.
3617         * config/aarch64/t-aarch64 (aarch-bti-insert.o): Update
3618         target.
3619         * config/aarch64/aarch64-bti-insert.cc: Delete.
3620         * config/arm/aarch-bti-insert.cc: New file including and
3621         generalizing code from aarch64-bti-insert.cc.
3622         * config/arm/aarch-common-protos.h: Update.
3624 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3626         * config/arm/arm.h (arm_arch8m_main): Declare it.
3627         * config/arm/arm-protos.h (arm_current_function_pac_enabled_p):
3628         Declare it.
3629         * config/arm/arm.cc (arm_arch8m_main): Define it.
3630         (arm_option_reconfigure_globals): Set arm_arch8m_main.
3631         (arm_compute_frame_layout, arm_expand_prologue)
3632         (thumb2_expand_return, arm_expand_epilogue)
3633         (arm_conditional_register_usage): Update for pac codegen.
3634         (arm_current_function_pac_enabled_p): New function.
3635         (aarch_bti_enabled) New function.
3636         (use_return_insn): Return zero when pac is enabled.
3637         * config/arm/arm.md (pac_ip_lr_sp, pacbti_ip_lr_sp, aut_ip_lr_sp):
3638         Add new patterns.
3639         * config/arm/unspecs.md (UNSPEC_PAC_NOP)
3640         (VUNSPEC_PACBTI_NOP, VUNSPEC_AUT_NOP): Add unspecs.
3642 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3644         * config/arm/t-rmprofile: Add multilib rules for march +pacbti and
3645         mbranch-protection.
3647 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3648             Tejas Belagod   <tbelagod@arm.com>
3650         * config/arm/arm.cc (arm_file_start): Emit EABI attributes for
3651         Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, TAG_PACRET_use.
3653 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3654             Tejas Belagod   <tbelagod@arm.com>
3655             Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3657         * ginclude/unwind-arm-common.h (_Unwind_VRS_RegClass): Introduce
3658         new pseudo register class _UVRSC_PAC.
3660 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3661             Tejas Belagod   <tbelagod@arm.com>
3663         * config/arm/arm-c.cc (arm_cpu_builtins): Define
3664         __ARM_FEATURE_BTI_DEFAULT, __ARM_FEATURE_PAC_DEFAULT,
3665         __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI.
3667 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3668             Tejas Belagod   <tbelagod@arm.com>
3670         * doc/sourcebuild.texi: Document arm_pacbti_hw.
3672 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3673             Tejas Belagod   <tbelagod@arm.com>
3674             Richard Earnshaw  <Richard.Earnshaw@arm.com>
3676         * config/arm/arm.cc (arm_configure_build_target): Parse and validate
3677         -mbranch-protection option and initialize appropriate data structures.
3678         * config/arm/arm.opt (-mbranch-protection): New option.
3679         * doc/invoke.texi (Arm Options): Document it.
3681 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3682             Tejas Belagod   <tbelagod@arm.com>
3684         * config/arm/arm.h (TARGET_HAVE_PACBTI): New macro.
3685         * config/arm/arm-cpus.in (pacbti): New feature.
3686         * doc/invoke.texi (Arm Options): Document it.
3688 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
3689             Tejas Belagod   <tbelagod@arm.com>
3691         * common/config/aarch64/aarch64-common.cc: Include aarch-common.h.
3692         (all_architectures): Fix comment.
3693         (aarch64_parse_extension): Rename return type, enum value names.
3694         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Rename
3695         factored out aarch_ra_sign_scope and aarch_ra_sign_key variables.
3696         Also rename corresponding enum values.
3697         * config/aarch64/aarch64-opts.h (aarch64_function_type): Factor
3698         out aarch64_function_type and move it to common code as
3699         aarch_function_type in aarch-common.h.
3700         * config/aarch64/aarch64-protos.h: Include common types header,
3701         move out types aarch64_parse_opt_result and aarch64_key_type to
3702         aarch-common.h
3703         * config/aarch64/aarch64.cc: Move mbranch-protection parsing types
3704         and functions out into aarch-common.h and aarch-common.cc.  Fix up
3705         all the name changes resulting from the move.
3706         * config/aarch64/aarch64.md: Fix up aarch64_ra_sign_key type name change
3707         and enum value.
3708         * config/aarch64/aarch64.opt: Include aarch-common.h to import
3709         type move.  Fix up name changes from factoring out common code and
3710         data.
3711         * config/arm/aarch-common-protos.h: Export factored out routines to both
3712         backends.
3713         * config/arm/aarch-common.cc: Include newly factored out types.
3714         Move all mbranch-protection code and data structures from
3715         aarch64.cc.
3716         * config/arm/aarch-common.h: New header that declares types shared
3717         between aarch32 and aarch64 backends.
3718         * config/arm/arm-protos.h: Declare types and variables that are
3719         made common to aarch64 and aarch32 backends - aarch_ra_sign_key,
3720         aarch_ra_sign_scope and aarch_enable_bti.
3721         * config/arm/arm.opt (config/arm/aarch-common.h): Include header.
3722         (aarch_ra_sign_scope, aarch_enable_bti): Declare variable.
3723         * config/arm/arm.cc: Add missing includes.
3725 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
3727         * doc/install.texi (amdgcn, nvptx): Require newlib 4.3.0.
3729 2023-01-23  Richard Biener  <rguenther@suse.de>
3731         PR tree-optimization/108449
3732         * cgraphunit.cc (check_global_declaration): Do not turn
3733         undefined statics into externs.
3735 2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>
3737         * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
3738         and HI input modes.
3739         * config/pru/pru.md (clz): Fix generated code for QI and HI
3740         input modes.
3742 2023-01-22  Cupertino Miranda  <cupertino.miranda@oracle.com>
3744         * config/v850/v850.cc (v850_select_section): Put const volatile
3745         objects into read-only sections.
3747 2023-01-20  Tejas Belagod  <tejas.belagod@arm.com>
3749         * config/aarch64/arm_neon.h (vmull_p64, vmull_high_p64, vaeseq_u8,
3750         vaesdq_u8, vaesmcq_u8, vaesimcq_u8): Gate under "nothing+aes".
3751         (vsha1*_u32, vsha256*_u32): Gate under "nothing+sha2".
3753 2023-01-20  Jakub Jelinek  <jakub@redhat.com>
3755         PR tree-optimization/108457
3756         * tree-ssa-loop-niter.cc (build_cltz_expr): Use
3757         SCALAR_INT_TYPE_MODE (utype) directly as C[LT]Z_DEFINED_VALUE_AT_ZERO
3758         argument instead of a temporary.  Formatting fixes.
3760 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
3762         PR tree-optimization/108447
3763         * value-relation.cc (rr_union_table): Fix VREL_UNDEFINED row order.
3764         (relation_tests): Add self-tests for relation_{intersect,union}
3765         commutativity.
3766         * selftest.h (relation_tests): Declare.
3767         * function-tests.cc (test_ranges): Call it.
3769 2023-01-19  H.J. Lu  <hjl.tools@gmail.com>
3771         PR target/108436
3772         * config/i386/i386-expand.cc (ix86_expand_builtin): Check
3773         invalid third argument to __builtin_ia32_prefetch.
3775 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
3777         PR middle-end/108459
3778         * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
3779         than fold_unary for NEGATE_EXPR.
3781 2023-01-19  Christophe Lyon  <christophe.lyon@arm.com>
3783         PR target/108411
3784         * config/aarch64/aarch64.cc (aarch64_layout_arg): Improve
3785         comment. Move assert about alignment a bit later.
3787 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
3789         PR tree-optimization/108440
3790         * tree-ssa-forwprop.cc: Include gimple-range.h.
3791         (simplify_rotate): For the forms with T2 wider than T and shift counts of
3792         Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
3793         to B.  For the forms with T2 wider than T and shift counts of
3794         Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
3795         range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
3796         Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
3797         pass specific ranger instead of get_global_range_query.
3798         (pass_forwprop::execute): Disable that ranger at the end of pass if it has
3799         been created.
3801 2023-01-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
3803         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
3804         exact_log2 (INTVAL (operands[2])) >= 0 as condition for gating
3805         the pattern.
3806         (aarch64_simd_vec_copy_lane<mode>): Likewise.
3807         (aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
3809 2023-01-19  Alexandre Oliva  <oliva@adacore.com>
3811         PR debug/106746
3812         * sched-deps.cc (sched_analyze_2): Skip cselib address lookup
3813         within debug insns.
3815 2023-01-18  Martin Jambor  <mjambor@suse.cz>
3817         PR ipa/107944
3818         * cgraph.cc (cgraph_node::remove): Check whether nodes up the
3819         lcone_of chain also do not need the body.
3821 2023-01-18  Richard Biener  <rguenther@suse.de>
3823         Revert:
3824         2022-12-16  Richard Biener  <rguenther@suse.de>
3826         PR middle-end/108086
3827         * tree-inline.cc (remap_ssa_name): Do not unshare the
3828         result from the decl_map.
3830 2023-01-18  Murray Steele  <murray.steele@arm.com>
3832         PR target/108442
3833         * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic
3834         function.
3835         (__arm_vst1q_p_s8): Likewise.
3836         (__arm_vld1q_z_u8): Likewise.
3837         (__arm_vld1q_z_s8): Likewise.
3838         (__arm_vst1q_p_u16): Likewise.
3839         (__arm_vst1q_p_s16): Likewise.
3840         (__arm_vld1q_z_u16): Likewise.
3841         (__arm_vld1q_z_s16): Likewise.
3842         (__arm_vst1q_p_u32): Likewise.
3843         (__arm_vst1q_p_s32): Likewise.
3844         (__arm_vld1q_z_u32): Likewise.
3845         (__arm_vld1q_z_s32): Likewise.
3846         (__arm_vld1q_z_f16): Likewise.
3847         (__arm_vst1q_p_f16): Likewise.
3848         (__arm_vld1q_z_f32): Likewise.
3849         (__arm_vst1q_p_f32): Likewise.
3851 2023-01-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
3853         * config/xtensa/xtensa.md (xorsi3_internal):
3854         Rename from the original of "xorsi3".
3855         (xorsi3): New expansion pattern that emits addition rather than
3856         bitwise-XOR when the second source is a constant of -2147483648
3857         if TARGET_DENSITY.
3859 2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
3860             Andrew Pinski  <apinski@marvell.com>
3862         PR target/108396
3863         * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
3864         vec_vsubcuqP with vec_vsubcuq.
3866 2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
3868         PR target/108348
3869         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
3870         support for invalid uses of MMA opaque type in function arguments.
3872 2023-01-18  liuhongt  <hongtao.liu@intel.com>
3874         PR target/55522
3875         * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o
3876         whenever -mdaz-ftz is specified. Don't link crtfastmath.o when
3877         -share or -mno-daz-ftz is specified.
3878         * config/i386/darwin.h (ENDFILE_SPEC): Ditto.
3879         * config/i386/mingw32.h (ENDFILE_SPEC): Ditto.
3881 2023-01-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
3883         * config/bpf/bpf.cc (bpf_option_override): Disable
3884         -fstack-protector.
3886 2023-01-17  Jakub Jelinek  <jakub@redhat.com>
3888         PR tree-optimization/106523
3889         * tree-ssa-forwprop.cc (simplify_rotate): For the
3890         patterns with (-Y) & (B - 1) in one operand's shift
3891         count and Y in another, if T2 has wider precision than T,
3892         punt if Y could have a value in [B, B2 - 1] range.
3894 2023-01-16  H.J. Lu  <hjl.tools@gmail.com>
3896         PR target/105980
3897         * config/i386/i386.cc (x86_output_mi_thunk): Disable
3898         -mforce-indirect-call for PIC in 32-bit mode.
3900 2023-01-16  Jan Hubicka  <hubicka@ucw.cz>
3902         PR ipa/106077
3903         * ipa-modref.cc (modref_access_analysis::analyze): Use
3904         find_always_executed_bbs.
3905         * ipa-sra.cc (process_scan_results): Likewise.
3906         * ipa-utils.cc (stmt_may_terminate_function_p): New function.
3907         (find_always_executed_bbs): New function.
3908         * ipa-utils.h (stmt_may_terminate_function_p): Declare.
3909         (find_always_executed_bbs): Declare.
3911 2023-01-16  Jan Hubicka  <jh@suse.cz>
3913         * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
3914         by TARGET_USE_SCATTER.
3915         * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
3916         TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
3917         * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
3918         TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
3919         (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
3920         for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.
3922 2023-01-16  Richard Biener  <rguenther@suse.de>
3924         PR target/55522
3925         * config/sol2.h (ENDFILE_SPEC): Don't add crtfastmath.o for -shared.
3927 2023-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
3929         PR target/96795
3930         PR target/107515
3931         * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
3932         (__ARM_mve_coerce3): Likewise.
3934 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
3936         * tree-ssa-loop-niter.cc (build_popcount_expr): Add IFN support.
3938 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
3940         * tree-ssa-loop-niter.cc (number_of_iterations_cltz): New.
3941         (number_of_iterations_bitcount): Add call to the above.
3942         (number_of_iterations_exit_assumptions): Add EQ_EXPR case for
3943         c[lt]z idiom recognition.
3945 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
3947         * doc/sourcebuild.texi: Add missing target attributes.
3949 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
3951         PR tree-optimization/94793
3952         * tree-scalar-evolution.cc (expression_expensive_p): Add checks
3953         for c[lt]z optabs.
3954         * tree-ssa-loop-niter.cc (build_cltz_expr): New.
3955         (number_of_iterations_cltz_complement): New.
3956         (number_of_iterations_bitcount): Add call to the above.
3958 2023-01-16  Jonathan Wakely  <jwakely@redhat.com>
3960         * doc/extend.texi (Common Function Attributes): Fix grammar.
3962 2023-01-16  Jakub Jelinek  <jakub@redhat.com>
3964         PR other/108413
3965         * config/riscv/riscv-vsetvl.h: Add space in between Copyright and (C).
3966         * config/riscv/riscv-vsetvl.cc: Likewise.
3968 2023-01-16  Jakub Jelinek  <jakub@redhat.com>
3970         PR c++/105593
3971         * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
3972         disable -Winit-self using pragma GCC diagnostic ignored.
3973         * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
3974         Likewise.
3975         * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
3976         _mm256_undefined_si256): Likewise.
3977         * config/i386/avx512fintrin.h (_mm512_undefined_pd,
3978         _mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
3979         * config/i386/avx512fp16intrin.h (_mm_undefined_ph,
3980         _mm256_undefined_ph, _mm512_undefined_ph): Likewise.
3982 2023-01-16  Kewen Lin  <linkw@linux.ibm.com>
3984         PR target/108272
3985         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
3986         support for invalid uses in inline asm, factor out the checking and
3987         erroring to lambda function check_and_error_invalid_use.
3989 2023-01-15  Aldy Hernandez  <aldyh@redhat.com>
3991         PR tree-optimization/107608
3992         * range-op-float.cc (range_operator_float::fold_range): Avoid
3993         folding into INF when flag_trapping_math.
3994         * value-range.h (frange::known_isinf): Return false for possible NANs.
3996 2023-01-15  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
3998         * config.gcc (csky-*-*): Support --with-float=softfp.
4000 2023-01-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
4002         * config/xtensa/xtensa-protos.h (order_regs_for_local_alloc):
4003         Rename to xtensa_adjust_reg_alloc_order.
4004         * config/xtensa/xtensa.cc (xtensa_adjust_reg_alloc_order):
4005         Ditto.  And also remove code to reorder register numbers for
4006         leaf functions, rename the tables, and adjust the allocation
4007         order for the call0 ABI to use register A0 more.
4008         (xtensa_leaf_regs): Remove.
4009         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Cosmetics.
4010         (order_regs_for_local_alloc): Rename as the above.
4011         (LEAF_REGISTERS, LEAF_REG_REMAP, leaf_function): Remove.
4013 2023-01-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
4015         * config/aarch64/aarch64-sve.md (aarch64_vec_duplicate_vq<mode>_le):
4016         Change to define_insn_and_split to fold ldr+dup to ld1rq.
4017         * config/aarch64/predicates.md (aarch64_sve_dup_ld1rq_operand): New.
4019 2023-01-14  Alexandre Oliva  <oliva@adacore.com>
4021         * hash-table.h (is_deleted): Precheck !is_empty.
4022         (mark_deleted): Postcheck !is_empty.
4023         (copy constructor): Test is_empty before is_deleted.
4025 2023-01-14  Alexandre Oliva  <oliva@adacore.com>
4027         PR target/40457
4028         * config/arm/arm.md (movmisaligndi): Prefer aligned SImode
4029         moves.
4031 2023-01-13  Eric Botcazou  <ebotcazou@adacore.com>
4033         PR rtl-optimization/108274
4034         * function.cc (thread_prologue_and_epilogue_insns): Also update the
4035         DF information for calls in a few more cases.
4037 2023-01-13  John David Anglin  <danglin@gcc.gnu.org>
4039         * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): Delete define.
4040         * config/pa/pa.cc (pa_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE
4041         define.
4042         * config/pa/pa.h (TARGET_SYNC_LIBCALLS): Use flag_sync_libcalls.
4043         (MAX_SYNC_LIBFUNC_SIZE): Define.
4044         (TARGET_CPU_CPP_BUILTINS): Define __SOFTFP__ when soft float is
4045         enabled.
4046         * config/pa/pa.md (atomic_storeqi): Emit __atomic_exchange_1
4047         libcall when sync libcalls are disabled.
4048         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
4049         (atomic_loaddi): Emit __atomic_load_8 libcall when sync libcalls
4050         are disabled on 32-bit target.
4051         * config/pa/pa.opt (matomic-libcalls): New option.
4052         * doc/invoke.texi (HPPA Options): Update.
4054 2023-01-13  Alexander Monakov  <amonakov@ispras.ru>
4056         PR rtl-optimization/108117
4057         PR rtl-optimization/108132
4058         * sched-deps.cc (deps_analyze_insn): Do not schedule across
4059         calls before reload.
4061 2023-01-13  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
4063         * common/config/arm/arm-common.cc (arm_canon_arch_option_1): Ignore cde
4064         options for -mlibarch.
4065         * config/arm/arm-cpus.in (begin cpu cortex-m55): Add cde options.
4066         * doc/invoke.texi (CDE): Document options for Cortex-M55 CPU.
4068 2023-01-13  Qing Zhao  <qing.zhao@oracle.com>
4070         * attribs.cc (strict_flex_array_level_of): Move this function to ...
4071         * attribs.h (strict_flex_array_level_of): Remove the declaration.
4072         * gimple-array-bounds.cc (array_bounds_checker::check_array_ref):
4073         replace the referece to strict_flex_array_level_of with
4074         DECL_NOT_FLEXARRAY.
4075         * tree.cc (component_ref_size): Likewise.
4077 2023-01-13  Richard Biener  <rguenther@suse.de>
4079         PR target/55522
4080         * config/arm/linux-eabi.h (ENDFILE_SPEC): Don't add
4081         crtfastmath.o for -shared.
4082         * config/arm/unknown-elf.h (STARTFILE_SPEC): Likewise.
4084 2023-01-13  Richard Biener  <rguenther@suse.de>
4086         PR target/55522
4087         * config/aarch64/aarch64-elf-raw.h (ENDFILE_SPEC): Don't add
4088         crtfastmath.o for -shared.
4089         * config/aarch64/aarch64-freebsd.h (GNU_USER_TARGET_MATHFILE_SPEC):
4090         Likewise.
4091         * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_MATHFILE_SPEC):
4092         Likewise.
4094 2023-01-13  Richard Sandiford  <richard.sandiford@arm.com>
4096         * config/aarch64/aarch64.cc (aarch64_dwarf_frame_reg_mode): New
4097         function.
4098         (TARGET_DWARF_FRAME_REG_MODE): Define.
4100 2023-01-13  Richard Biener  <rguenther@suse.de>
4102         PR target/107209
4103         * config/aarch64/aarch64.cc (aarch64_gimple_fold_builtin): Don't
4104         update EH info on the fly.
4106 2023-01-13  Richard Biener  <rguenther@suse.de>
4108         PR tree-optimization/108387
4109         * tree-ssa-sccvn.cc (visit_nary_op): Check for SSA_NAME
4110         value before inserting expression into the tables.
4112 2023-01-12  Andrew Pinski  <apinski@marvell.com>
4113             Roger Sayle  <roger@nextmovesoftware.com>
4115         PR tree-optimization/92342
4116         * match.pd ((m1 CMP m2) * d -> (m1 CMP m2) ? d : 0):
4117         Use tcc_comparison and :c for the multiply.
4118         (b & -(a CMP c) -> (a CMP c)?b:0): New pattern.
4120 2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
4121             Richard Sandiford  <richard.sandiford@arm.com>
4123         PR target/105549
4124         * config/aarch64/aarch64.cc (aarch64_function_arg_alignment):
4125         Check DECL_PACKED for bitfield.
4126         (aarch64_layout_arg): Warn when parameter passing ABI changes.
4127         (aarch64_function_arg_boundary): Do not warn here.
4128         (aarch64_gimplify_va_arg_expr): Warn when parameter passing ABI
4129         changes.
4131 2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
4132             Richard Sandiford  <richard.sandiford@arm.com>
4134         * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
4135         comment.
4136         (aarch64_layout_arg): Factorize warning conditions.
4137         (aarch64_function_arg_boundary): Fix typo.
4138         * function.cc (currently_expanding_function_start): New variable.
4139         (expand_function_start): Handle
4140         currently_expanding_function_start.
4141         * function.h (currently_expanding_function_start): Declare.
4143 2023-01-12  Richard Biener  <rguenther@suse.de>
4145         PR tree-optimization/99412
4146         * tree-ssa-reassoc.cc (is_phi_for_stmt): Remove.
4147         (swap_ops_for_binary_stmt): Remove reduction handling.
4148         (rewrite_expr_tree_parallel): Adjust.
4149         (reassociate_bb): Likewise.
4150         * tree-parloops.cc (build_new_reduction): Handle MINUS_EXPR.
4152 2023-01-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
4154         * config/xtensa/xtensa.md (ctzsi2, ffssi2):
4155         Rearrange the emitting codes.
4157 2023-01-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
4159         * config/xtensa/xtensa.md (*btrue):
4160         Correct value of the attribute "length" that depends on
4161         TARGET_DENSITY and operands, and add '?' character to the register
4162         constraint of the compared operand.
4164 2023-01-12  Alexandre Oliva  <oliva@adacore.com>
4166         * hash-table.h (expand): Check elements and deleted counts.
4167         (verify): Likewise.
4169 2023-01-11  Roger Sayle  <roger@nextmovesoftware.com>
4171         PR tree-optimization/71343
4172         * tree-ssa-sccvn.cc (visit_nary_op) <case LSHIFT_EXPR>: Make
4173         the value number of the expression X << C the same as the value
4174         number for the multiplication X * (1<<C).
4176 2023-01-11  David Faust  <david.faust@oracle.com>
4178         PR target/108293
4179         * config/bpf/bpf.cc (bpf_print_operand): Correct handling for
4180         floating point modes.
4182 2023-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4184         PR tree-optimization/108199
4185         * tree-sra.cc (sra_modify_expr): Deal with reverse storage order
4186         for bit-field references.
4188 2023-01-11  Kewen Lin  <linkw@linux.ibm.com>
4190         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make
4191         OPTION_MASK_P10_FUSION implicit setting honour Power10 tuning setting.
4192         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Remove
4193         OPTION_MASK_P10_FUSION.
4195 2023-01-11  Richard Biener  <rguenther@suse.de>
4197         PR tree-optimization/107767
4198         * tree-cfgcleanup.cc (phi_alternatives_equal): Export.
4199         * tree-cfgcleanup.h (phi_alternatives_equal): Declare.
4200         * tree-switch-conversion.cc (switch_conversion::collect):
4201         Count unique non-default targets accounting for later
4202         merging opportunities.
4204 2023-01-11  Martin Liska  <mliska@suse.cz>
4206         PR middle-end/107976
4207         * params.opt: Limit JT params.
4208         * stmt.cc (emit_case_dispatch_table): Use auto_vec.
4210 2023-01-11  Richard Biener  <rguenther@suse.de>
4212         PR tree-optimization/108352
4213         * tree-ssa-threadbackward.cc
4214         (back_threader_profitability::profitable_path_p): Adjust
4215         heuristic that allows non-multi-way branch threads creating
4216         irreducible loops.
4217         * doc/invoke.texi (--param fsm-scale-path-blocks): Remove.
4218         (--param fsm-scale-path-stmts): Adjust.
4219         * params.opt (--param=fsm-scale-path-blocks=): Remove.
4220         (-param=fsm-scale-path-stmts=): Adjust description.
4222 2023-01-11  Richard Biener  <rguenther@suse.de>
4224         PR tree-optimization/108353
4225         * tree-ssa-propagate.cc (cfg_blocks_back, ssa_edge_worklist_back):
4226         Remove.
4227         (add_ssa_edge): Simplify.
4228         (add_control_edge): Likewise.
4229         (ssa_prop_init): Likewise.
4230         (ssa_prop_fini): Likewise.
4231         (ssa_propagation_engine::ssa_propagate): Likewise.
4233 2023-01-11  Andreas Krebbel  <krebbel@linux.ibm.com>
4235         * config/s390/s390.md (*not<mode>): New pattern.
4237 2023-01-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
4239         * config/xtensa/xtensa.cc (xtensa_insn_cost):
4240         Let insn cost for size be obtained by applying COSTS_N_INSNS()
4241         to instruction length and then dividing by 3.
4243 2023-01-10  Richard Biener  <rguenther@suse.de>
4245         PR tree-optimization/106293
4246         * tree-ssa-dse.cc (dse_classify_store): Use a worklist to
4247         process degenerate PHI defs.
4249 2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>
4251         PR rtl-optimization/106421
4252         * cprop.cc (bypass_block): Check that DEST is local to this
4253         function (non-NULL) before calling find_edge.
4255 2023-01-10  Martin Jambor  <mjambor@suse.cz>
4257         PR ipa/108110
4258         * ipa-param-manipulation.h (ipa_param_body_adjustments): New members
4259         sort_replacements, lookup_first_base_replacement and
4260         m_sorted_replacements_p.
4261         * ipa-param-manipulation.cc: Define INCLUDE_ALGORITHM.
4262         (ipa_param_body_adjustments::register_replacement): Set
4263         m_sorted_replacements_p to false.
4264         (compare_param_body_replacement): New function.
4265         (ipa_param_body_adjustments::sort_replacements): Likewise.
4266         (ipa_param_body_adjustments::common_initialization): Call
4267         sort_replacements.
4268         (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize
4269         m_sorted_replacements_p.
4270         (ipa_param_body_adjustments::lookup_replacement_1): Rework to use
4271         std::lower_bound.
4272         (ipa_param_body_adjustments::lookup_first_base_replacement): New
4273         function.
4274         (ipa_param_body_adjustments::modify_call_stmt): Use
4275         lookup_first_base_replacement.
4276         * omp-simd-clone.cc (ipa_simd_modify_function_body): Call
4277         adjustments->sort_replacements.
4279 2023-01-10  Richard Biener  <rguenther@suse.de>
4281         PR tree-optimization/108314
4282         * tree-vect-stmts.cc (vectorizable_condition): Do not
4283         perform BIT_NOT_EXPR optimization for EXTRACT_LAST_REDUCTION.
4285 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
4287         * config/csky/csky-linux-elf.h (SYSROOT_SUFFIX_SPEC): New.
4289 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
4291         * config/csky/csky.h (MULTILIB_DEFAULTS): Fix float abi option.
4293 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
4295         * config/csky/csky.cc (csky_cpu_cpp_builtins): Add builtin
4296         defines for soft float abi.
4298 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
4300         * config/csky/csky.md (smart_bseti): Change condition to CSKY_ISA_FEATURE (E1).
4301         (smart_bclri): Likewise.
4302         (fast_bseti): Change condition to CSKY_ISA_FEATURE (E2).
4303         (fast_bclri): Likewise.
4304         (fast_cmpnesi_i): Likewise.
4305         (*fast_cmpltsi_i): Likewise.
4306         (*fast_cmpgeusi_i): Likewise.
4308 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
4310         * config/csky/csky_insn_fpuv3.md (l<frm_pattern><fixsuop><mode>si2): Test
4311         flag_fp_int_builtin_inexact || !flag_trapping_math.
4312         (<frm_pattern><mode>2): Likewise.
4314 2023-01-10  Andreas Krebbel  <krebbel@linux.ibm.com>
4316         * config/s390/s390.cc (s390_register_info): Check call_used_regs
4317         instead of hard-coding the register numbers for call saved
4318         registers.
4319         (s390_optimize_register_info): Likewise.
4321 2023-01-09  Eric Botcazou  <ebotcazou@adacore.com>
4323         * doc/gm2.texi (Overview): Fix @node markers.
4324         (Using): Likewise.  Remove subsections that were moved to Overview
4325         from the menu and move others around.
4327 2023-01-09  Richard Biener  <rguenther@suse.de>
4329         PR middle-end/108209
4330         * genmatch.cc (commutative_op): Fix return value for
4331         user-id with non-commutative first replacement.
4333 2023-01-09  Jakub Jelinek  <jakub@redhat.com>
4335         PR target/107453
4336         * calls.cc (expand_call): For calls with
4337         TYPE_NO_NAMED_ARGS_STDARG_P (funtype) use zero for n_named_args.
4338         Formatting fix.
4340 2023-01-09  Richard Biener  <rguenther@suse.de>
4342         PR middle-end/69482
4343         * cfgexpand.cc (discover_nonconstant_array_refs_r): Volatile
4344         qualified accesses also force objects to memory.
4346 2023-01-09  Martin Liska  <mliska@suse.cz>
4348         PR lto/108330
4349         * lto-cgraph.cc (compute_ltrans_boundary): Do not insert
4350         NULL (deleleted value) to a hash_set.
4352 2023-01-08  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
4354         * config/xtensa/xtensa.md (*splice_bits):
4355         New insn_and_split pattern.
4357 2023-01-07  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
4359         * config/xtensa/xtensa.cc
4360         (xtensa_split_imm_two_addends, xtensa_emit_add_imm):
4361         New helper functions.
4362         (xtensa_set_return_address, xtensa_output_mi_thunk):
4363         Change to use the helper function.
4364         (xtensa_emit_adjust_stack_ptr): Ditto.
4365         And also change to try reusing the content of scratch register
4366         A9 if the register is not modified in the function body.
4368 2023-01-07  LIU Hao  <lh_mouse@126.com>
4370         PR middle-end/108300
4371         * config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN`
4372         before <windows.h>.
4373         * diagnostic-color.cc: Likewise.
4374         * plugin.cc: Likewise.
4375         * prefix.cc: Likewise.
4377 2023-01-06  Joseph Myers  <joseph@codesourcery.com>
4379         * doc/extend.texi (__builtin_tgmath): Do not restate standard rule
4380         for handling real integer types.
4382 2023-01-06  Tamar Christina  <tamar.christina@arm.com>
4384         Revert:
4385         2022-12-12  Tamar Christina  <tamar.christina@arm.com>
4387         * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New.
4388         (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>,
4389         aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>,
4390         @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>,
4391         reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>,
4392         aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>,
4393         vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF.
4394         (aarch64_simd_dupv2hf): New.
4395         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode):
4396         Add E_V2HFmode.
4397         * config/aarch64/iterators.md (VHSDF_P): New.
4398         (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL,
4399         Vel, q, vp): Add V2HF.
4400         * config/arm/types.md (neon_fp_reduc_add_h): New.
4402 2023-01-06  Martin Liska  <mliska@suse.cz>
4404         PR middle-end/107966
4405         * doc/options.texi: Fix Var documentation in internal manual.
4407 2023-01-05  Roger Sayle  <roger@nextmovesoftware.com>
4409         Revert:
4410         2023-01-03  Roger Sayle  <roger@nextmovesoftware.com>
4412         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite
4413         RTL expansion to allow condition (mask) to be shared/reused,
4414         by avoiding overwriting pseudos and adding REG_EQUAL notes.
4416 2023-01-05  Iain Sandoe  <iain@sandoe.co.uk>
4418         * common.opt: Add -static-libgm2.
4419         * config/darwin.h (LINK_SPEC): Handle static-libgm2.
4420         * doc/gm2.texi: Document static-libgm2.
4421         * gcc.cc (driver_handle_option): Allow static-libgm2.
4423 2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
4425         * common/config/i386/i386-common.cc (processor_alias_table):
4426         Use CPU_ZNVER4 for znver4.
4427         * config/i386/i386.md: Add znver4.md.
4428         * config/i386/znver4.md: New.
4430 2023-01-04  Jakub Jelinek  <jakub@redhat.com>
4432         PR tree-optimization/108253
4433         * tree-vrp.cc (maybe_set_nonzero_bits): Handle var with pointer
4434         types.
4436 2023-01-04  Jakub Jelinek  <jakub@redhat.com>
4438         PR middle-end/108237
4439         * generic-match-head.cc: Include tree-pass.h.
4440         (canonicalize_math_p, optimize_vectors_before_lowering_p): Define
4441         to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
4442         resp. PROP_gimple_lvec property set.
4444 2023-01-04  Jakub Jelinek  <jakub@redhat.com>
4446         PR sanitizer/108256
4447         * convert.cc (do_narrow): Punt for MULT_EXPR if original
4448         type doesn't wrap around and -fsanitize=signed-integer-overflow
4449         is on.
4450         * fold-const.cc (fold_unary_loc) <CASE_CONVERT>: Likewise.
4452 2023-01-04  Hu, Lin1  <lin1.hu@intel.com>
4454         * common/config/i386/cpuinfo.h (get_intel_cpu): Handle Emeraldrapids.
4455         * common/config/i386/i386-common.cc: Add Emeraldrapids.
4457 2023-01-04  Hu, Lin1  <lin1.hu@intel.com>
4459         * common/config/i386/cpuinfo.h (get_intel_cpu): Remove case 0xb5
4460         for meteorlake.
4462 2023-01-03  Sandra Loosemore  <sandra@codesourcery.com>
4464         * cgraph.h (struct cgraph_node): Add gc_candidate bit, modify
4465         default constructor to initialize it.
4466         * cgraphunit.cc (expand_all_functions): Save gc_candidate functions
4467         for last and iterate to handle recursive calls.  Delete leftover
4468         candidates at the end.
4469         * omp-simd-clone.cc (simd_clone_create): Set gc_candidate bit
4470         on local clones.
4471         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Clear
4472         gc_candidate bit when a clone is used.
4474 2023-01-03  Florian Weimer  <fweimer@redhat.com>
4476         Revert:
4477         2023-01-02  Florian Weimer  <fweimer@redhat.com>
4479         * dwarf2cfi.cc (init_return_column_size): Remove.
4480         (init_one_dwarf_reg_size): Adjust.
4481         (generate_dwarf_reg_sizes): New function.  Extracted
4482         from expand_builtin_init_dwarf_reg_sizes.
4483         (expand_builtin_init_dwarf_reg_sizes): Call
4484         generate_dwarf_reg_sizes.
4485         * target.def (init_dwarf_reg_sizes_extra): Adjust
4486         hook signature.
4487         * config/msp430/msp430.cc
4488         (msp430_init_dwarf_reg_sizes_extra): Adjust.
4489         * config/rs6000/rs6000.cc
4490         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
4491         * doc/tm.texi: Update.
4493 2023-01-03  Florian Weimer  <fweimer@redhat.com>
4495         Revert:
4496         2023-01-02  Florian Weimer  <fweimer@redhat.com>
4498         * debug.h (dwarf_reg_sizes_constant): Declare.
4499         * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function.
4501 2023-01-03  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4503         PR tree-optimization/105043
4504         * doc/extend.texi (Object Size Checking): Split out into two
4505         subsections and mention _FORTIFY_SOURCE.
4507 2023-01-03  Roger Sayle  <roger@nextmovesoftware.com>
4509         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite
4510         RTL expansion to allow condition (mask) to be shared/reused,
4511         by avoiding overwriting pseudos and adding REG_EQUAL notes.
4513 2023-01-03  Roger Sayle  <roger@nextmovesoftware.com>
4515         PR target/108229
4516         * config/i386/i386-features.cc
4517         (general_scalar_chain::compute_convert_gain) <case PLUS>: Consider
4518         the gain/cost of converting a MEM operand.
4520 2023-01-03  Jakub Jelinek  <jakub@redhat.com>
4522         PR middle-end/108264
4523         * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
4524         from source which doesn't have scalar integral mode first convert
4525         it to outer_mode.
4527 2023-01-03  Jakub Jelinek  <jakub@redhat.com>
4529         PR rtl-optimization/108263
4530         * cfgrtl.cc (fixup_reorder_chain): Avoid trying to redirect
4531         asm goto to EXIT.
4533 2023-01-02  Alexander Monakov  <amonakov@ispras.ru>
4535         PR target/87832
4536         * config/i386/lujiazui.md (lujiazui_div): New automaton.
4537         (lua_div): New unit.
4538         (lua_idiv_qi): Correct unit in the reservation.
4539         (lua_idiv_qi_load): Ditto.
4540         (lua_idiv_hi): Ditto.
4541         (lua_idiv_hi_load): Ditto.
4542         (lua_idiv_si): Ditto.
4543         (lua_idiv_si_load): Ditto.
4544         (lua_idiv_di): Ditto.
4545         (lua_idiv_di_load): Ditto.
4546         (lua_fdiv_SF): Ditto.
4547         (lua_fdiv_SF_load): Ditto.
4548         (lua_fdiv_DF): Ditto.
4549         (lua_fdiv_DF_load): Ditto.
4550         (lua_fdiv_XF): Ditto.
4551         (lua_fdiv_XF_load): Ditto.
4552         (lua_ssediv_SF): Ditto.
4553         (lua_ssediv_load_SF): Ditto.
4554         (lua_ssediv_V4SF): Ditto.
4555         (lua_ssediv_load_V4SF): Ditto.
4556         (lua_ssediv_V8SF): Ditto.
4557         (lua_ssediv_load_V8SF): Ditto.
4558         (lua_ssediv_SD): Ditto.
4559         (lua_ssediv_load_SD): Ditto.
4560         (lua_ssediv_V2DF): Ditto.
4561         (lua_ssediv_load_V2DF): Ditto.
4562         (lua_ssediv_V4DF): Ditto.
4563         (lua_ssediv_load_V4DF): Ditto.
4565 2023-01-02  Florian Weimer  <fweimer@redhat.com>
4567         * debug.h (dwarf_reg_sizes_constant): Declare.
4568         * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function.
4570 2023-01-02  Florian Weimer  <fweimer@redhat.com>
4572         * dwarf2cfi.cc (init_return_column_size): Remove.
4573         (init_one_dwarf_reg_size): Adjust.
4574         (generate_dwarf_reg_sizes): New function.  Extracted
4575         from expand_builtin_init_dwarf_reg_sizes.
4576         (expand_builtin_init_dwarf_reg_sizes): Call
4577         generate_dwarf_reg_sizes.
4578         * target.def (init_dwarf_reg_sizes_extra): Adjust
4579         hook signature.
4580         * config/msp430/msp430.cc
4581         (msp430_init_dwarf_reg_sizes_extra): Adjust.
4582         * config/rs6000/rs6000.cc
4583         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
4584         * doc/tm.texi: Update.
4586 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
4588         * gcc.cc (process_command): Update copyright notice dates.
4589         * gcov-dump.cc (print_version): Ditto.
4590         * gcov.cc (print_version): Ditto.
4591         * gcov-tool.cc (print_version): Ditto.
4592         * gengtype.cc (create_file): Ditto.
4593         * doc/cpp.texi: Bump @copying's copyright year.
4594         * doc/cppinternals.texi: Ditto.
4595         * doc/gcc.texi: Ditto.
4596         * doc/gccint.texi: Ditto.
4597         * doc/gcov.texi: Ditto.
4598         * doc/install.texi: Ditto.
4599         * doc/invoke.texi: Ditto.
4601 2023-01-01  Roger Sayle  <roger@nextmovesoftware.com>
4602             Uroš Bizjak  <ubizjak@gmail.com>
4604         * config/i386/i386.md (extendditi2): New define_insn.
4605         (define_split): Use DWIH mode iterator to treat new extendditi2
4606         identically to existing extendsidi2_1.
4607         (define_peephole2): Likewise.
4608         (define_peephole2): Likewise.
4609         (define_Split): Likewise.
4612 Copyright (C) 2023 Free Software Foundation, Inc.
4614 Copying and distribution of this file, with or without modification,
4615 are permitted in any medium without royalty provided the copyright
4616 notice and this notice are preserved.