testsuite: Fix up a testcase to find the right ISO_Fortran_binding.h.
[official-gcc.git] / gcc / ChangeLog
blob70b8f0aa0096605e463e68739a96a737376181ca
1 2021-01-27  Vladimir N. Makarov  <vmakarov@redhat.com>
3         PR rtl-optimization/97684
4         * ira.c (ira): Call ira_set_pseudo_classes before
5         update_equiv_regs when it is necessary.
7 2021-01-27  Jakub Jelinek  <jakub@redhat.com>
9         PR target/98853
10         * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use
11         %w0, %w1 and %2 instead of %0, %1 and %2.
13 2021-01-27  Aaron Sawdey  <acsawdey@linux.ibm.com>
15         * config/rs6000/genfusion.pl: New script to generate
16         define_insn_and_split patterns so combine can arrange fused
17         instructions next to each other.
18         * config/rs6000/fusion.md: New file, generated fused instruction
19         patterns for combine.
20         * config/rs6000/predicates.md (const_m1_to_1_operand): New predicate.
21         (non_update_memory_operand): New predicate.
22         * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_P10_FUSION and
23         OPTION_MASK_P10_FUSION_LD_CMPI to ISA_3_1_MASKS_SERVER and
24         POWERPC_MASKS.
25         * config/rs6000/rs6000-protos.h (address_is_non_pfx_d_or_x): Add
26         prototype.
27         * config/rs6000/rs6000.c (rs6000_option_override_internal):
28         Automatically set OPTION_MASK_P10_FUSION and
29         OPTION_MASK_P10_FUSION_LD_CMPI if target is power10.
30         (rs600_opt_masks): Allow -mpower10-fusion
31         in function attributes.
32         (address_is_non_pfx_d_or_x): New function.
33         * config/rs6000/rs6000.h: Add MASK_P10_FUSION.
34         * config/rs6000/rs6000.md: Include fusion.md.
35         * config/rs6000/rs6000.opt: Add -mpower10-fusion
36         and -mpower10-fusion-ld-cmpi.
37         * config/rs6000/t-rs6000: Add dependencies involving fusion.md.
39 2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
41         * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal
42         builtin generator macros.
43         * config/aarch64/aarch64-simd.md (*aarch64_<su>mlal<mode>):
44         Rename to...
45         (aarch64_<su>mlal<mode>): This.
46         * config/aarch64/arm_neon.h (vmlal_s8): Use RTL builtin
47         instead of inline asm.
48         (vmlal_s16): Likewise.
49         (vmlal_s32): Likewise.
50         (vmlal_u8): Likewise.
51         (vmlal_u16): Likewise.
52         (vmlal_u32): Likewise.
54 2021-01-27  Richard Biener  <rguenther@suse.de>
56         PR tree-optimization/98854
57         * tree-vect-slp.c (vect_build_slp_tree_2): Also build
58         PHIs from scalars when the number of CTORs matches the
59         number of children.
61 2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
63         * config/aarch64/aarch64-simd-builtins.def: Add mls_n builtin
64         generator macro.
65         * config/aarch64/aarch64-simd.md (*aarch64_mls_elt_merge<mode>):
66         Rename to...
67         (aarch64_mls_n<mode>): This.
68         * config/aarch64/arm_neon.h (vmls_n_s16): Use RTL builtin
69         instead of asm.
70         (vmls_n_s32): Likewise.
71         (vmls_n_u16): Likewise.
72         (vmls_n_u32): Likewise.
73         (vmlsq_n_s16): Likewise.
74         (vmlsq_n_s32): Likewise.
75         (vmlsq_n_u16): Likewise.
76         (vmlsq_n_u32): Likewise.
78 2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
80         * config/aarch64/aarch64-simd-builtins.def: Add mls builtin
81         generator macro.
82         * config/aarch64/arm_neon.h (vmls_s8): Use RTL builtin rather
83         than asm.
84         (vmls_s16): Likewise.
85         (vmls_s32): Likewise.
86         (vmls_u8): Likewise.
87         (vmls_u16): Likewise.
88         (vmls_u32): Likewise.
89         (vmlsq_s8): Likewise.
90         (vmlsq_s16): Likewise.
91         (vmlsq_s32): Likewise.
92         (vmlsq_u8): Likewise.
93         (vmlsq_u16): Likewise.
94         (vmlsq_u32): Likewise.
96 2021-01-27  Jonathan Wright  <jonathan.wright@arm.com>
98         * config/aarch64/aarch64-simd-builtins.def: Add mla_n builtin
99         generator macro.
100         * config/aarch64/aarch64-simd.md (*aarch64_mla_elt_merge<mode>):
101         Rename to...
102         (aarch64_mla_n<mode>): This.
103         * config/aarch64/arm_neon.h (vmla_n_s16): Use RTL builtin
104         instead of asm.
105         (vmla_n_s32): Likewise.
106         (vmla_n_u16): Likewise.
107         (vmla_n_u32): Likewise.
108         (vmlaq_n_s16): Likewise.
109         (vmlaq_n_s32): Likewise.
110         (vmlaq_n_u16): Likewise.
111         (vmlaq_n_u32): Likewise.
113 2021-01-27  liuhongt  <hongtao.liu@intel.com>
115         PR target/98833
116         * config/i386/sse.md (sse2_gt<mode>3): Drop !TARGET_XOP in condition.
117         (*sse2_eq<mode>3): Ditto.
119 2021-01-27  Jakub Jelinek  <jakub@redhat.com>
121         * tree-pass.h (PROP_trees): Rename to ...
122         (PROP_gimple): ... this.
123         * cfgexpand.c (pass_data_expand): Replace PROP_trees with PROP_gimple.
124         * passes.c (execute_function_dump, execute_function_todo,
125         execute_one_ipa_transform_pass, execute_one_pass): Likewise.
126         * varpool.c (ctor_for_folding): Likewise.
128 2021-01-27  Jakub Jelinek  <jakub@redhat.com>
130         PR tree-optimization/97260
131         * varpool.c: Include tree-pass.h.
132         (ctor_for_folding): In GENERIC return DECL_INITIAL for TREE_READONLY
133         non-TREE_SIDE_EFFECTS automatic variables.
135 2021-01-26  Paul Fee  <paul.f.fee@gmail.com>
137         * doc/cpp.texi (__cplusplus): Document value for -std=c++23
138         or -std=gnu++23.
139         * doc/invoke.texi: Document -std=c++23 and -std=gnu++23.
140         * dwarf2out.c (highest_c_language): Recognise C++20 and C++23.
141         (gen_compile_unit_die): Recognise C++23.
143 2021-01-26  Jakub Jelinek  <jakub@redhat.com>
145         PR bootstrap/98839
146         * dwarf2asm.c (dw2_assemble_integer): Cast DWARF2_ADDR_SIZE to int
147         in comparison.
149 2021-01-26  Jakub Jelinek  <jakub@redhat.com>
151         PR target/98681
152         * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
153         Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt)
154         and INTVAL (mask).  Add && INTVAL (mask) > 0 condition.
156 2021-01-26  Richard Biener  <rguenther@suse.de>
158         * gimple-pretty-print.c (dump_binary_rhs): Handle
159         VEC_WIDEN_{PLUS,MINUS}_{LO,HI}_EXPR.
161 2021-01-26  Richard Biener  <rguenther@suse.de>
163         PR middle-end/98726
164         * tree.h (vector_cst_int_elt): Remove.
165         * tree.c (vector_cst_int_elt): Use poly_wide_int for computations,
166         make static.
168 2021-01-26  Andrew Stubbs  <ams@codesourcery.com>
170         * config/gcn/gcn.c (gcn_expand_reduc_scalar): Use move instructions
171         for V64DFmode min/max reductions.
173 2021-01-26  Jakub Jelinek  <jakub@redhat.com>
175         * dwarf2asm.c (dw2_assemble_integer): Handle size twice as large
176         as DWARF2_ADDR_SIZE if x is not a scalar int by emitting it as
177         two halves, one with x and the other with const0_rtx, ordered
178         depending on endianity.
180 2021-01-26  Alexandre Oliva  <oliva@adacore.com>
182         * gimplify.c (gimplify_decl_expr): Skip asan marking calls for
183         temporaries not seen in binding block, and not about to be
184         added as gimple variables.
186 2021-01-25  Martin Sebor  <msebor@redhat.com>
188         PR c++/98646
189         * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Adjust warning text.
191 2021-01-25  Martin Liska  <mliska@suse.cz>
193         * value-prof.c (get_nth_most_common_value): Use %s instead
194         of %qs string.
196 2021-01-25  Jakub Jelinek  <jakub@redhat.com>
198         PR debug/98811
199         * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG): Only define if
200         readelf -wi is able to read the emitted .debug_info back.
201         * configure: Regenerated.
203 2021-01-25  Martin Liska  <mliska@suse.cz>
205         PR gcov-profile/98739
206         * common.opt: Add missing sign symbol.
207         * value-prof.c (get_nth_most_common_value): Restore handling
208         of PROFILE_REPRODUCIBILITY_PARALLEL_RUNS and
209         PROFILE_REPRODUCIBILITY_MULTITHREADED.
211 2021-01-25  Richard Biener  <rguenther@suse.de>
213         PR middle-end/98807
214         * tree.c (vector_element_bits): Always use precision of
215         the element type for boolean vectors.
217 2021-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
219         * config/rtems.h (STARTFILE_SPEC): Remove qnolinkcmds.
220         (ENDFILE_SPEC): Evaluate qnolinkcmds.
222 2021-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
224         * config/rtems.h (STARTFILE_SPEC): Remove nostdlib and
225         nostartfiles handling since this is already done by
226         LINK_COMMAND_SPEC.  Evaluate qnolinkcmds.
227         (ENDFILE_SPEC): Remove nostdlib and nostartfiles handling since this
228         is already done by LINK_COMMAND_SPEC.
229         (LIB_SPECS): Remove nostdlib and nodefaultlibs handling since
230         this is already done by LINK_COMMAND_SPEC.  Remove qnolinkcmds
231         evaluation.
233 2021-01-25  Jakub Jelinek  <jakub@redhat.com>
235         PR testsuite/98771
236         * fold-const-call.c (host_size_t_cst_p): Renamed to ...
237         (size_t_cst_p): ... this.  Check and store unsigned HOST_WIDE_INT
238         value rather than host size_t.
239         (fold_const_call): Change type of s2 from size_t to
240         unsigned HOST_WIDE_INT.  Use size_t_cst_p instead of
241         host_size_t_cst_p.  For strncmp calls, pass MIN (s2, SIZE_MAX)
242         instead of s2 as last argument.
244 2021-01-25  Tamar Christina  <tamar.christina@arm.com>
246         * config/arm/iterators.md (rotsplit1, rotsplit2, conj_op, fcmac1,
247         VCMLA_OP, VCMUL_OP): New.
248         * config/arm/mve.md (mve_vcmlaq<mve_rot><mode>): Support vec_dup 0.
249         * config/arm/neon.md (cmul<conj_op><mode>3): New.
250         * config/arm/unspecs.md (UNSPEC_VCMLA_CONJ, UNSPEC_VCMLA180_CONJ,
251         UNSPEC_VCMUL_CONJ): New.
252         * config/arm/vec-common.md (cmul<conj_op><mode>3, arm_vcmla<rot><mode>,
253         cml<fcmac1><conj_op><mode>4): New.
255 2021-01-23  Jakub Jelinek  <jakub@redhat.com>
257         PR testsuite/97301
258         * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute.
260 2021-01-22  Jonathan Wright  <jonathan.wright@arm.com>
262         * config/aarch64/aarch64-simd-builtins.def: Add mla builtin
263         generator macro.
264         * config/aarch64/arm_neon.h (vmla_s8): Use RTL builtin rather
265         than asm.
266         (vmla_s16): Likewise.
267         (vmla_s32): Likewise.
268         (vmla_u8): Likewise.
269         (vmla_u16): Likewise.
270         (vmla_u32): Likewise.
271         (vmlaq_s8): Likewise.
272         (vmlaq_s16): Likewise.
273         (vmlaq_s32): Likewise.
274         (vmlaq_u8): Likewise.
275         (vmlaq_u16): Likewise.
276         (vmlaq_u32): Likewise.
278 2021-01-22  David Malcolm  <dmalcolm@redhat.com>
280         * doc/invoke.texi (GCC_EXTRA_DIAGNOSTIC_OUTPUT): Add @findex
281         directive.
283 2021-01-22  Jakub Jelinek  <jakub@redhat.com>
285         PR debug/98796
286         * dwarf2out.c (output_file_names): For -gdwarf-5, if there are no
287         filenames to emit, still emit the required 0 index directory and
288         filename entries that match DW_AT_comp_dir and DW_AT_name of the
289         compilation unit.
291 2021-01-22  Marek Polacek  <polacek@redhat.com>
293         PR c++/98545
294         * doc/invoke.texi: Update C++ ABI Version 15 description.
296 2021-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
298         PR tree-optimization/98766
299         * tree-ssa-math-opts.c (convert_mult_to_fma): Use maybe_le when
300         comparing against type size with param_avoid_fma_max_bits.
302 2021-01-22  Richard Biener  <rguenther@suse.de>
304         PR middle-end/98793
305         * tree.c (vector_element_bits): Key single-bit bool vector on
306         integer mode rather than not vector mode.
308 2021-01-22  Xionghu Luo  <luoxhu@linux.ibm.com>
310         PR target/98093
311         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
312         Generate ARRAY_REF(VIEW_CONVERT_EXPR) for P8 and later
313         platforms.
314         * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): Update
315         to call different path for P8 and P9.
316         (rs6000_expand_vector_set_var_p9): New function.
317         (rs6000_expand_vector_set_var_p8): New function.
319 2021-01-22  Xionghu Luo  <luoxhu@linux.ibm.com>
321         PR target/79251
322         PR target/98065
323         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
324         Ajdust variable index vec_insert from address dereference to
325         ARRAY_REF(VIEW_CONVERT_EXPR) tree expression.
326         * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var):
327         New declaration.
328         * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): New function.
330 2021-01-22  Martin Liska  <mliska@suse.cz>
332         PR gcov-profile/98739
333         * profile.c (compute_value_histograms): Drop time profile for
334         -fprofile-reproducible=multithreaded.
336 2021-01-22  Nathan Sidwell  <nathan@acm.org>
338         * gcc.c (process_command): Don't check OPT_SPECIAL_input_file
339         existence here.
341 2021-01-22  Richard Biener  <rguenther@suse.de>
343         PR middle-end/98773
344         * tree-data-ref.c (initalize_matrix_A): Revert previous
345         change, retaining failing on HOST_WIDE_INT_MIN CHREC_RIGHT.
347 2021-01-22  Jakub Jelinek  <jakub@redhat.com>
349         PR tree-optimization/90248
350         * match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X),
351         X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove
352         simplifications.
353         (X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X),
354         X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications.
356 2021-01-22  Jakub Jelinek  <jakub@redhat.com>
358         PR tree-optimization/98255
359         * tree-dfa.c (get_ref_base_and_extent): For ARRAY_REFs, sign
360         extend index - low_bound from sizetype's precision rather than index
361         precision.
362         (get_addr_base_and_unit_offset_1): Likewise.
363         * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Likewise.
364         * gimple-fold.c (fold_const_aggregate_ref_1): Likewise.
366 2021-01-22  Richard Biener  <rguenther@suse.de>
368         PR tree-optimization/98786
369         * tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid
370         adding new uses of abnormals.  Verify we deal with a conditional
371         conversion.
373 2021-01-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
375         PR target/98636
376         * optc-save-gen.awk: Add arm_fp16_format to checked_options.
378 2021-01-22  liuhongt  <hongtao.liu@intel.com>
380         PR target/96891
381         PR target/98348
382         * config/i386/sse.md (VI_128_256): New mode iterator.
383         (*avx_cmp<mode>3_1, *avx_cmp<mode>3_2, *avx_cmp<mode>3_3,
384          *avx_cmp<mode>3_4, *avx2_eq<mode>3, *avx2_pcmp<mode>3_1,
385          *avx2_pcmp<mode>3_2, *avx2_gt<mode>3): New
386         define_insn_and_split to lower avx512 vector comparison to avx
387         version when dest is vector.
388         (*<avx512>_cmp<mode>3,*<avx512>_cmp<mode>3,*<avx512>_ucmp<mode>3):
389         define_insn_and_split for negating the comparison result.
390         * config/i386/predicates.md (float_vector_all_ones_operand):
391         New predicate.
392         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
393         general NOT operator without UNSPEC_MASKOP.
395 2021-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
397         PR rtl-optimization/98777
398         * lra-int.h (lra_pmode_pseudo): New extern.
399         * lra.c (lra_pmode_pseudo): New global.
400         (lra): Set it up.
401         * lra-eliminations.c (eliminate_regs_in_insn): Use it.
403 2021-01-21  Ilya Leoshkevich  <iii@linux.ibm.com>
405         * fwprop.c (fwprop_propagation::classify_result): Allow
406         (subreg (mem)) simplifications.
408 2021-01-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
410         * config/aarch64/aarch64-simd.md (aarch64_sqdml<SBINQOPS:as>l<mode>):
411         Split into...
412         (aarch64_sqdmlal<mode>): ... This...
413         (aarch64_sqdmlsl<mode>): ... And this.
414         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>): Split into...
415         (aarch64_sqdmlal_lane<mode>): ... This...
416         (aarch64_sqdmlsl_lane<mode>): ... And this.
417         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): Split into...
418         (aarch64_sqdmlsl_laneq<mode>): ... This...
419         (aarch64_sqdmlal_laneq<mode>):  ... And this.
420         (aarch64_sqdml<SBINQOPS:as>l_n<mode>): Split into...
421         (aarch64_sqdmlsl_n<mode>): ... This...
422         (aarch64_sqdmlal_n<mode>): ... And this.
423         (aarch64_sqdml<SBINQOPS:as>l2<mode>_internal): Split into...
424         (aarch64_sqdmlal2<mode>_internal): ... This...
425         (aarch64_sqdmlsl2<mode>_internal): ... And this.
427 2021-01-21  Christophe Lyon  <christophe.lyon@linaro.org>
429         * config/arm/arm_mve.h (__arm_vcmpneq_s8): Fix return type.
431 2021-01-21  Andrea Corallo  <andrea.corallo@arm.com>
433         PR target/96372
434         * doc/sourcebuild.texi (arm_thumb2_no_arm_v8_1_lob): Document.
436 2021-01-21  liuhongt  <hongtao.liu@intel.com>
438         PR rtl-optimization/98694
439         * regcprop.c (copy_value): If SRC had been assigned a mode
440         narrower than the copy, we can't link DEST into the chain even
441         they have same hard_regno_nregs(i.e. HImode/SImode in i386
442         backend).
444 2021-01-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
446         * config/aarch64/aarch64-simd.md (aarch64_get_lane<mode>):
447         Convert to define_insn_and_split.  Split into simple move when moving
448         bottom element.
450 2021-01-20  Segher Boessenkool  <segher@kernel.crashing.org>
452         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Change assert.
453         Adjust comment.  Simplify code.
455 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
457         PR debug/98765
458         * dwarf2out.c (reset_indirect_string): Also reset indirect strings
459         with DW_FORM_line_strp form.
460         (prune_unused_types_update_strings): Don't add into debug_str_hash
461         indirect strings with DW_FORM_line_strp form.
462         (adjust_name_comp_dir): New function.
463         (dwarf2out_finish): Call it on CU DIEs after resetting
464         debug_line_str_hash.
466 2021-01-20  Vladimir N. Makarov  <vmakarov@redhat.com>
468         PR rtl-optimization/98722
469         * lra-eliminations.c (eliminate_regs_in_insn): Check that target
470         has no 3-op add insn to transform insns containing two pluses.
472 2021-01-20  Richard Biener  <rguenther@suse.de>
474         * hwint.h (add_hwi): New function.
475         (mul_hwi): Likewise.
476         * tree-data-ref.c (initialize_matrix_A): Properly translate
477         tree constants and avoid HOST_WIDE_INT_MIN.
478         (lambda_matrix_row_add): Avoid undefined integer overflow
479         and return true on such overflow.
480         (lambda_matrix_right_hermite): Handle overflow from
481         lambda_matrix_row_add gracefully.  Simplify previous fix.
482         (analyze_subscript_affine_affine): Likewise.
484 2021-01-20  Eugene Rozenfeld  <erozen@microsoft.com>
486         PR tree-optimization/96674
487         * match.pd: New patterns: x < y || y == XXX_MIN --> x <= y - 1
488         x >= y && y != XXX_MIN --> x > y - 1
490 2021-01-20  Richard Sandiford  <richard.sandiford@arm.com>
492         PR tree-optimization/98535
493         * tree-vect-slp.c (duplicate_and_interleave): Use quick_grow_cleared.
494         If the high and low permutes are the same, remove the high permutes
495         from the working set and only continue with the low ones.
497 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
499         PR tree-optimization/98721
500         * builtins.c (access_ref::inform_access): Don't assume
501         SSA_NAME_IDENTIFIER must be non-NULL.  Print messages about
502         object whenever allocfn is NULL, rather than only when DECL_P
503         is true.  Use %qE instead of %qD for that.  Formatting fixes.
505 2021-01-20  Richard Biener  <rguenther@suse.de>
507         PR tree-optimization/98758
508         * tree-data-ref.c (int_divides_p): Use lambda_int arguments.
509         (lambda_matrix_right_hermite): Avoid undefinedness with
510         signed integer abs and multiplication.
511         (analyze_subscript_affine_affine): Use lambda_int.
513 2021-01-20  David Malcolm  <dmalcolm@redhat.com>
515         PR debug/98751
516         * dwarf2out.c (output_line_info): Rename static variable
517         "generation", moving it out of the function to...
518         (output_line_info_generation): New.
519         (init_sections_and_labels): Likewise, renaming the variable to...
520         (init_sections_and_labels_generation): New.
521         (dwarf2out_c_finalize): Reset the new variables.
523 2021-01-19  Martin Sebor  <msebor@redhat.com>
525         PR middle-end/98664
526         * tree-ssa-live.c (remove_unused_scope_block_p): Keep scopes for
527         all functions, even if they're not declared artificial or inline.
528         * tree.c (tree_inlined_location): Use macro expansion location
529         only if scope traversal fails to expose one.
531 2021-01-19  Richard Sandiford  <richard.sandiford@arm.com>
533         PR rtl-optimization/92294
534         * alias.c (compare_base_symbol_refs): Take an extra parameter
535         and add the distance between two symbols to it.  Enshrine in
536         comments that -1 means "either 0 or 1, but we can't tell
537         which at compile time".
538         (memrefs_conflict_p): Update call accordingly.
539         (rtx_equal_for_memref_p): Likewise.  Take the distance between symbols
540         into account.
542 2021-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
544         * config/aarch64/aarch64-simd-builtins.def (sqshl, uqshl,
545         sqrshl, uqrshl, sqadd, uqadd, sqsub, uqsub, suqadd, usqadd, sqmovn,
546         uqmovn, sqxtn2, uqxtn2, sqabs, sqneg, sqdmlal, sqdmlsl, sqdmlal_lane,
547         sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal_n, sqdmlsl_n,
548         sqdmlal2, sqdmlsl2, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq,
549         sqdmlsl2_laneq, sqdmlal2_n, sqdmlsl2_n, sqdmull, sqdmull_lane,
550         sqdmull_laneq, sqdmull_n, sqdmull2, sqdmull2_lane, sqdmull2_laneq,
551         sqdmull2_n, sqdmulh, sqrdmulh, sqdmulh_lane, sqdmulh_laneq,
552         sqrdmulh_lane, sqrdmulh_laneq, sqshrun_n, sqrshrun_n, sqshrn_n,
553         uqshrn_n, sqrshrn_n, uqrshrn_n, sqshlu_n, sqshl_n, uqshl_n, sqrdmlah,
554         sqrdmlsh, sqrdmlah_lane, sqrdmlsh_lane, sqrdmlah_laneq, sqrdmlsh_laneq,
555         sqmovun): Use NONE flags.
557 2021-01-19  Richard Biener  <rguenther@suse.de>
559         PR ipa/98330
560         * ipa-modref.c (analyze_stmt): Only record a summary for a
561         direct call.
563 2021-01-19  Richard Biener  <rguenther@suse.de>
565         PR middle-end/98638
566         * tree-ssanames.c (fini_ssanames): Zero SSA_NAME_DEF_STMT.
568 2021-01-19  Daniel Hellstrom  <daniel@gaisler.com>
570         * config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
571         built-in define __FIX_LEON3FT_TN0018.
573 2021-01-19  Richard Biener  <rguenther@suse.de>
575         PR ipa/97673
576         * tree-inline.c (tree_function_versioning): Set input_location
577         to UNKNOWN_LOCATION throughout the function.
579 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
581         PR fortran/98476
582         * omp-low.c (lower_omp_target): Handle nonpointer is_device_ptr.
584 2021-01-19  Martin Jambor  <mjambor@suse.cz>
586         PR ipa/98690
587         * ipa-sra.c (ssa_name_only_returned_p): New parameter fun.  Check
588         whether non-call exceptions allow removal of a statement.
589         (isra_analyze_call): Pass the appropriate function to
590         ssa_name_only_returned_p.
592 2021-01-19  Geng Qi  <gengqi@linux.alibaba.com>
594         * config/riscv/arch-canonicalize (longext_sort): New function for
595          sorting 'multi-letter'.
596         * config/riscv/multilib-generator: Adjusting the loop of 'alt' in
597         'alts'. The 'arch' may not be the first of 'alts'.
598         (_expand_combination): Add underline for the 'ext' without '*'.
599         This is because, a single-letter extension can always be treated well
600         with a '_' prefix, but it cannot be separated out if it is appended
601         to a multi-letter.
603 2021-01-18  Vladimir N. Makarov  <vmakarov@redhat.com>
605         PR target/97847
606         * ira.c (ira): Skip abnormal critical edge splitting.
608 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
610         PR tree-optimization/98727
611         * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of
612         second .MUL_OVERFLOW operand for signed multiplication with overflow
613         checking if the second operand of multiplication is not constant.
615 2021-01-18  David Edelsohn  <dje.gcc@gmail.com>
617         * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX
618         defaults to version 4.
620 2021-01-18  David Malcolm  <dmalcolm@redhat.com>
622         * attribs.h (fndecl_dealloc_argno): New decl.
623         * builtins.c (call_dealloc_argno): Split out second half of
624         function into...
625         (fndecl_dealloc_argno): New.
626         * doc/extend.texi (Common Function Attributes): Document the
627         interaction between the analyzer and the malloc attribute.
628         * doc/invoke.texi (Static Analyzer Options): Likewise.
630 2021-01-17  David Edelsohn  <dje.gcc@gmail.com>
632         * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
633         dwarf_version to 4.
634         * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
636 2021-01-17  Martin Jambor  <mjambor@suse.cz>
638         PR ipa/98222
639         * cgraph.c (clone_of_p): Check also former_clone_of as we climb
640         the clone tree.
642 2021-01-17  Mark Wielaard  <mark@klomp.org>
644         * common.opt (gdwarf-): Init(5).
645         * doc/invoke.texi (-gdwarf): Document default to 5.
647 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
649         * builtin-types.def
650         (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
651         to...
652         (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
653         ...this.  Add extra argument.
654         * gimplify.c (omp_default_clause): Ensure that event handle is
655         firstprivate in a task region.
656         (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH.
657         (gimplify_adjust_omp_clauses): Likewise.
658         * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to
659         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR.
660         * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags
661         if detach clause specified.  Add detach argument when generating
662         call to GOMP_task.
663         * omp-low.c (scan_sharing_clauses): Setup data environment for detach
664         clause.
665         (finish_taskreg_scan): Move field for variable containing the event
666         handle to the front of the struct.
667         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH.  Fix
668         ordering.
669         * tree-nested.c (convert_nonlocal_omp_clauses): Handle
670         OMP_CLAUSE_DETACH clause.
671         (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
672         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH.
673         * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH.
674         Fix ordering.
675         (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH.  Fix
676         ordering.
677         (walk_tree_1): Handle OMP_CLAUSE_DETACH.
679 2021-01-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
681         * config/nios2/t-rtems: Reset all MULTILIB_* variables.  Shorten
682         multilib directory names.  Use MULTILIB_REQUIRED instead of
683         MULTILIB_EXCEPTIONS.  Add -mhw-mul -mhw-mulx -mhw-div
684         -mcustom-fpu-cfg=fph2 multilib.
686 2021-01-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
688         * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value.
689         (nios2_init_fpu_configs): Provide register values for new
690         -mcustom-fpu-cfg=fph2 option variant.
691         * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option
692         variant.
694 2021-01-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
696         * config/nios2/nios2.c (nios2_custom_check_insns): Remove
697         custom instruction warnings.
699 2021-01-16  Jakub Jelinek  <jakub@redhat.com>
701         PR tree-optimization/96669
702         * match.pd ((CST << x) & 1 -> x == 0): New simplification.
704 2021-01-16  Jakub Jelinek  <jakub@redhat.com>
706         PR tree-optimization/96271
707         * passes.def: Pass false argument to first two pass_cd_dce
708         instances and true to last instance.  Add comment that
709         last instance rewrites no longer addressed locals.
710         * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and
711         initialize it.
712         (pass_cd_dce::set_pass_param): New method.
713         (pass_cd_dce::execute): Return TODO_update_address_taken from
714         last cd_dce instance.
716 2021-01-15  Carl Love  <cel@us.ibm.com>
718         * config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod):
719         New defines.
720         * config/rs6000/altivec.md (VIlong): Move define to file vsx.md.
721         * config/rs6000/rs6000-builtin.def (DIVES_V4SI, DIVES_V2DI,
722         DIVEU_V4SI, DIVEU_V2DI, DIVS_V4SI, DIVS_V2DI, DIVU_V4SI,
723         DIVU_V2DI, MODS_V2DI, MODS_V4SI, MODU_V2DI, MODU_V4SI,
724         MULHS_V2DI, MULHS_V4SI, MULHU_V2DI, MULHU_V4SI, MULLD_V2DI):
725         Add builtin define.
726         (MULH, DIVE, MOD):  Add new BU_P10_OVERLOAD_2 definitions.
727         * config/rs6000/rs6000-call.c (VSX_BUILTIN_VEC_DIV,
728         VSX_BUILTIN_VEC_DIVE, P10_BUILTIN_VEC_MOD, P10_BUILTIN_VEC_MULH):
729         New overloaded definitions.
730         (builtin_function_type) [P10V_BUILTIN_DIVEU_V4SI,
731         P10V_BUILTIN_DIVEU_V2DI, P10V_BUILTIN_DIVU_V4SI,
732         P10V_BUILTIN_DIVU_V2DI, P10V_BUILTIN_MODU_V2DI,
733         P10V_BUILTIN_MODU_V4SI, P10V_BUILTIN_MULHU_V2DI,
734         P10V_BUILTIN_MULHU_V4SI]: Add case
735         statement for builtins.
736         * config/rs6000/rs6000.md (bits): Add new attribute sizes V4SI, V2DI.
737         * config/rs6000/vsx.md (VIlong): Moved from config/rs6000/altivec.md.
738         (UNSPEC_VDIVES, UNSPEC_VDIVEU): New unspec definitions.
739         (vsx_mul_v2di): Add if TARGET_POWER10 statement.
740         (vsx_udiv_v2di): Add if TARGET_POWER10 statement.
741         (dives_<mode>, diveu_<mode>, div<mode>3, uvdiv<mode>3,
742         mods_<mode>, modu_<mode>, mulhs_<mode>, mulhu_<mode>, mulv2di3):
743         Add define_insn, mode is VIlong.
744         * doc/extend.texi (vec_mulh, vec_mul, vec_div, vec_dive, vec_mod):
745         Add builtin descriptions.
747 2021-01-15  Eric Botcazou  <ebotcazou@adacore.com>
749         * final.c (final_start_function_1): Reset force_source_line.
751 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
753         PR tree-optimization/96669
754         * match.pd (((1 << A) & 1) != 0 -> A == 0,
755         ((1 << A) & 1) == 0 -> A != 0): Generalize for 1s replaced by
756         possibly different power of two constants and to right shift too.
758 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
760         PR tree-optimization/96681
761         * match.pd ((x < 0) ^ (y < 0) to (x ^ y) < 0): New simplification.
762         ((x >= 0) ^ (y >= 0) to (x ^ y) < 0): Likewise.
763         ((x < 0) ^ (y >= 0) to (x ^ y) >= 0): Likewise.
764         ((x >= 0) ^ (y < 0) to (x ^ y) >= 0): Likewise.
766 2021-01-15  Alexandre Oliva  <oliva@adacore.com>
768         * opts.c (gen_command_line_string): Exclude -dumpbase-ext.
770 2021-01-15  Tamar Christina  <tamar.christina@arm.com>
772         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4,
773         cmul<conj_op><mode>3): New.
774         * config/aarch64/iterators.md (UNSPEC_FCMUL,
775         UNSPEC_FCMUL180, UNSPEC_FCMLA_CONJ, UNSPEC_FCMLA180_CONJ,
776         UNSPEC_CMLA_CONJ, UNSPEC_CMLA180_CONJ, UNSPEC_CMUL, UNSPEC_CMUL180,
777         FCMLA_OP, FCMUL_OP, conj_op, rotsplit1, rotsplit2, fcmac1, sve_rot1,
778         sve_rot2, SVE2_INT_CMLA_OP, SVE2_INT_CMUL_OP, SVE2_INT_CADD_OP): New.
779         (rot): Add UNSPEC_FCMUL, UNSPEC_FCMUL180.
780         (rot_op): Renamed to conj_op.
781         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4,
782         cmul<conj_op><mode>3): New.
783         * config/aarch64/aarch64-sve2.md (cml<fcmac1><conj_op><mode>4,
784         cmul<conj_op><mode>3): New.
786 2021-01-15  David Malcolm  <dmalcolm@redhat.com>
788         PR bootstrap/98696
789         * diagnostic.c
790         (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
791         Escape the tempfile name when constructing the expected output.
793 2021-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
795         * config/aarch64/aarch64-simd.md (*aarch64_<su>mlsl_hi<mode>):
796         Rename to...
797         (aarch64_<su>mlsl_hi<mode>): ... This.
798         (aarch64_<su>mlsl_hi<mode>): Define.
799         (*aarch64_<su>mlsl<mode): Rename to...
800         (aarch64_<su>mlsl<mode): ... This.
801         * config/aarch64/aarch64-simd-builtins.def (smlsl, umlsl,
802         smlsl_hi, umlsl_hi): Define builtins.
803         * config/aarch64/arm_neon.h (vmlsl_high_s8, vmlsl_high_s16,
804         vmlsl_high_s32, vmlsl_high_u8, vmlsl_high_u16, vmlsl_high_u32,
805         vmlsl_s8, vmlsl_s16, vmlsl_s32, vmlsl_u8,
806         vmlsl_u16, vmlsl_u32): Reimplement with builtins.
808 2021-01-15  Uroš Bizjak  <ubizjak@gmail.com>
810         * config/i386/i386-c.c (ix86_target_macros):
811         Use cpp_define_formatted for __SIZEOF_FLOAT80__ definition.
813 2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
815         PR target/88836
816         * config.gcc (aarch64*-*-*): Add aarch64-cc-fusion.o to extra_objs.
817         * Makefile.in (RTL_SSA_H): New variable.
818         * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): New rule.
819         * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Declare.
820         * config/aarch64/aarch64-passes.def: Add pass_cc_fusion after
821         pass_combine.
822         * config/aarch64/aarch64-cc-fusion.cc: New file.
824 2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
826         * recog.h (insn_change_watermark::~insn_change_watermark): Avoid
827         calling cancel_changes for changes that no longer exist.
829 2021-01-15  Richard Sandiford  <richard.sandiford@arm.com>
831         * rtl-ssa/functions.h (function_info::ref_defs): Rename to...
832         (function_info::reg_defs): ...this.
833         * rtl-ssa/member-fns.inl (function_info::ref_defs): Rename to...
834         (function_info::reg_defs): ...this.
836 2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
838         PR target/71233
839         * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
841 2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
843         Revert:
844         2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
846         PR target/71233
847         * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
849 2021-01-15  Richard Biener  <rguenther@suse.de>
851         PR tree-optimization/96376
852         * tree-vect-stmts.c (get_load_store_type): Disregard alignment
853         for VMAT_INVARIANT.
855 2021-01-15  Martin Liska  <mliska@suse.cz>
857         * doc/install.texi: Document that some tests need pytest module.
858         * doc/sourcebuild.texi: Likewise.
860 2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
862         PR target/71233
863         * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
865 2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
867         * config/arm/mve.md (mve_vshrq_n_s<mode>_imm): New entry.
868         (mve_vshrq_n_u<mode>_imm): Likewise.
869         * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Move to ...
870         * config/arm/vec-common.md: ... here.
872 2021-01-15  Christophe Lyon  <christophe.lyon@linaro.org>
874         * config/arm/mve.md (mve_vshlq_<supf><mode>): Move to
875         vec-commond.md.
876         * config/arm/neon.md (vashl<mode>3): Delete.
877         * config/arm/vec-common.md (mve_vshlq_<supf><mode>): New.
878         (vasl<mode>3): New expander.
880 2021-01-15  Richard Biener  <rguenther@suse.de>
882         PR tree-optimization/98685
883         * tree-vect-slp.c (vect_schedule_slp_node): Refactor handling
884         of vector extern defs.
886 2021-01-14  David Malcolm  <dmalcolm@redhat.com>
888         PR jit/98586
889         * diagnostic.c (diagnostic_kind_text): Break out this array
890         from...
891         (diagnostic_build_prefix): ...here.
892         (fancy_abort): Detect when diagnostic_initialize has not yet been
893         called and fall back to a minimal implementation of printing the
894         ICE, rather than segfaulting in internal_error.
896 2021-01-14  David Malcolm  <dmalcolm@redhat.com>
898         * diagnostic.c (diagnostic_initialize): Eliminate
899         parseable_fixits_p in favor of initializing extra_output_kind from
900         GCC_EXTRA_DIAGNOSTIC_OUTPUT.
901         (convert_column_unit): New function, split out from...
902         (diagnostic_converted_column): ...this.
903         (print_parseable_fixits): Add "column_unit" and "tabstop" params.
904         Use them to call convert_column_unit on the column values.
905         (diagnostic_report_diagnostic): Eliminate conditional on
906         parseable_fixits_p in favor of a switch statement on
907         extra_output_kind, passing the appropriate values to the new
908         params of print_parseable_fixits.
909         (selftest::test_print_parseable_fixits_none): Update for new
910         params of print_parseable_fixits.
911         (selftest::test_print_parseable_fixits_insert): Likewise.
912         (selftest::test_print_parseable_fixits_remove): Likewise.
913         (selftest::test_print_parseable_fixits_replace): Likewise.
914         (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
915         New.
916         (selftest::diagnostic_c_tests): Call it.
917         * diagnostic.h (enum diagnostics_extra_output_kind): New.
918         (diagnostic_context::parseable_fixits_p): Delete field in favor
919         of...
920         (diagnostic_context::extra_output_kind): ...this new field.
921         * doc/invoke.texi (Environment Variables): Add
922         GCC_EXTRA_DIAGNOSTIC_OUTPUT.
923         * opts.c (common_handle_option): Update handling of
924         OPT_fdiagnostics_parseable_fixits for change to diagnostic_context
925         fields.
927 2021-01-14  Tamar Christina  <tamar.christina@arm.com>
929         * tree-vect-slp-patterns.c (class complex_operations_pattern,
930         complex_operations_pattern::matches,
931         complex_operations_pattern::recognize,
932         complex_operations_pattern::build): New.
933         (slp_patterns): Use it.
935 2021-01-14  Tamar Christina  <tamar.christina@arm.com>
937         * internal-fn.def (COMPLEX_FMS, COMPLEX_FMS_CONJ): New.
938         * optabs.def (cmls_optab, cmls_conj_optab): New.
939         * doc/md.texi: Document them.
940         * tree-vect-slp-patterns.c (class complex_fms_pattern,
941         complex_fms_pattern::matches, complex_fms_pattern::recognize,
942         complex_fms_pattern::build): New.
944 2021-01-14  Tamar Christina  <tamar.christina@arm.com>
946         * internal-fn.def (COMPLEX_FMA, COMPLEX_FMA_CONJ): New.
947         * optabs.def (cmla_optab, cmla_conj_optab): New.
948         * doc/md.texi: Document them.
949         * tree-vect-slp-patterns.c (vect_match_call_p,
950         class complex_fma_pattern, vect_slp_reset_pattern,
951         complex_fma_pattern::matches, complex_fma_pattern::recognize,
952         complex_fma_pattern::build): New.
954 2021-01-14  Tamar Christina  <tamar.christina@arm.com>
956         * internal-fn.def (COMPLEX_MUL, COMPLEX_MUL_CONJ): New.
957         * optabs.def (cmul_optab, cmul_conj_optab): New.
958         * doc/md.texi: Document them.
959         * tree-vect-slp-patterns.c (vect_match_call_complex_mla,
960         vect_normalize_conj_loc, is_eq_or_top, vect_validate_multiplication,
961         vect_build_combine_node, class complex_mul_pattern,
962         complex_mul_pattern::matches, complex_mul_pattern::recognize,
963         complex_mul_pattern::build): New.
965 2021-01-14  Tamar Christina  <tamar.christina@arm.com>
967         * tree-vect-slp.c (optimize_load_redistribution_1): New.
968         (optimize_load_redistribution, vect_is_slp_load_node): New.
969         (vect_match_slp_patterns): Use it.
971 2021-01-14  Tamar Christina  <tamar.christina@arm.com>
973         * tree-vect-slp-patterns.c (complex_add_pattern::build):
974         Elide nodes.
976 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
978         * config/gcn/mkoffload.c (main): Create an offload image only in
979         64-bit configurations.
981 2021-01-14  H.J. Lu  <hjl.tools@gmail.com>
983         PR target/98667
984         * config/i386/i386-options.c (ix86_option_override_internal):
985         Issue an error for -fcf-protection with CF_BRANCH when compiling
986         for 32-bit non-TARGET_CMOV targets.
988 2021-01-14  Uroš Bizjak  <ubizjak@gmail.com>
990         PR target/98671
991         * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
992         Remove declaration and initialization of shadow variable "ret".
993         (ix86_option_override_internal): Remove delcaration of
994         shadow variable "i".  Redeclare shadowed variable to unsigned.
995         * common/config/i386/i386-common.c (pta_size): Redeclare to unsigned.
996         * config/i386/i386-builtins.c (get_builtin_code_for_version):
997         Update for redeclaration.
998         * config/i386/i386.h (pta_size): Ditto.
1000 2021-01-14  Richard Biener  <rguenther@suse.de>
1002         PR tree-optimization/98674
1003         * tree-data-ref.c (base_supports_access_fn_components_p): New.
1004         (initialize_data_dependence_relation): For two bases without
1005         possible access fns resort to type size equality when determining
1006         shape compatibility.
1008 2021-01-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1010         PR target/66791
1011         * config/arm/arm_neon.h: Replace calls to __builtin_vcge* by
1012         <=, >= operators in vcle and vcge intrinsics respectively.
1013         * config/arm/arm_neon_builtins.def: Remove entry for
1014         vcge and vcgeu.
1016 2021-01-14  Uroš Bizjak  <ubizjak@gmail.com>
1018         PR target/98671
1019         * config/i386/i386-options.c (ix86_function_specific_save):
1020         Remove redundant assignment to opts->x_ix86_branch_cost.
1021         * config/i386/i386.c (ix86_prefetch_sse):
1022         Rename from x86_prefetch_sse.  Update all uses.
1023         * config/i386/i386.h: Update for rename.
1024         * config/i386/i386-options.h: Ditto.
1026 2021-01-14  Jakub Jelinek  <jakub@redhat.com>
1028         PR target/98670
1029         * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3,
1030         *sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3):
1031         Use Bm instead of m for non-avx.  Add isa attribute.
1033 2021-01-14  Jakub Jelinek  <jakub@redhat.com>
1035         PR tree-optimization/96688
1036         * match.pd (~(X >> Y) -> ~X >> Y): New simplification if
1037         ~X can be simplified.
1039 2021-01-14  Richard Sandiford  <richard.sandiford@arm.com>
1041         * tree-vect-stmts.c (vect_model_load_cost): Account for unused
1042         IFN_LOAD_LANES results.
1044 2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1046         * config/aarch64/aarch64-simd.md (aarch64_<su>xtl<mode>):
1047         Define.
1048         (aarch64_xtn<mode>): Likewise.
1049         * config/aarch64/aarch64-simd-builtins.def (sxtl, uxtl, xtn):
1050         Define
1051         builtins.
1052         * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
1053         builtin.
1054         (vmovl_s16): Likewise.
1055         (vmovl_s32): Likewise.
1056         (vmovl_u8): Likewise.
1057         (vmovl_u16): Likewise.
1058         (vmovl_u32): Likewise.
1059         (vmovn_s16): Likewise.
1060         (vmovn_s32): Likewise.
1061         (vmovn_s64): Likewise.
1062         (vmovn_u16): Likewise.
1063         (vmovn_u32): Likewise.
1064         (vmovn_u64): Likewise.
1066 2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1068         * config/aarch64/aarch64-simd.md (aarch64_<su>qxtn2<mode>_le):
1069         Define.
1070         (aarch64_<su>qxtn2<mode>_be): Likewise.
1071         (aarch64_<su>qxtn2<mode>): Likewise.
1072         * config/aarch64/aarch64-simd-builtins.def (sqxtn2, uqxtn2):
1073         Define builtins.
1074         * config/aarch64/iterators.md (SAT_TRUNC): Define code_iterator.
1075         (su): Handle ss_truncate and us_truncate.
1076         * config/aarch64/arm_neon.h (vqmovn_high_s16): Reimplement using
1077         builtin.
1078         (vqmovn_high_s32): Likewise.
1079         (vqmovn_high_s64): Likewise.
1080         (vqmovn_high_u16): Likewise.
1081         (vqmovn_high_u32): Likewise.
1082         (vqmovn_high_u64): Likewise.
1084 2021-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1086         * config/aarch64/aarch64-simd.md (aarch64_xtn2<mode>_le):
1087         Define.
1088         (aarch64_xtn2<mode>_be): Likewise.
1089         (aarch64_xtn2<mode>): Likewise.
1090         * config/aarch64/aarch64-simd-builtins.def (xtn2): Define
1091         builtins.
1092         * config/aarch64/arm_neon.h (vmovn_high_s16): Reimplement using
1093         builtins.
1094         (vmovn_high_s32): Likewise.
1095         (vmovn_high_s64): Likewise.
1096         (vmovn_high_u16): Likewise.
1097         (vmovn_high_u32): Likewise.
1098         (vmovn_high_u64): Likewise.
1100 2021-01-13  Stafford Horne  <shorne@gmail.com>
1102         * config/or1k/or1k.h (ASM_PREFERRED_EH_DATA_FORMAT): New macro.
1104 2021-01-13  Stafford Horne  <shorne@gmail.com>
1106         * config/or1k/linux.h (TARGET_ASM_FILE_END): Define macro.
1108 2021-01-13  Stafford Horne  <shorne@gmail.com>
1110         * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin
1111           define for __or1k_hard_float__.
1113 2021-01-13  Stafford Horne  <shorne@gmail.com>
1115         * config/or1k/or1k.h (NO_PROFILE_COUNTERS): Define as 1.
1116         (PROFILE_HOOK): Define to call _mcount.
1117         (FUNCTION_PROFILER): Change from abort to no-op.
1119 2021-01-13  Jakub Jelinek  <jakub@redhat.com>
1121         PR tree-optimization/96691
1122         * match.pd ((~X | C) ^ D -> (X | C) ^ (~D ^ C),
1123         (~X & C) ^ D -> (X & C) ^ (D ^ C)): New simplifications if
1124         (~D ^ C) or (D ^ C) can be simplified.
1126 2021-01-13  Richard Biener  <rguenther@suse.de>
1128         PR tree-optimization/92645
1129         * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization
1130         until after vector lowering.
1132 2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
1134         * config/aarch64/aarch64-sve.md (fnma<mode>4): Extend from SVE_FULL_I
1135         to SVE_I.
1136         (@aarch64_pred_fnma<mode>, cond_fnma<mode>, *cond_fnma<mode>_2)
1137         (*cond_fnma<mode>_4, *cond_fnma<mode>_any): Likewise.
1139 2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
1141         * config/aarch64/aarch64-sve.md (fma<mode>4): Extend from SVE_FULL_I
1142         to SVE_I.
1143         (@aarch64_pred_fma<mode>, cond_fma<mode>, *cond_fma<mode>_2)
1144         (*cond_fma<mode>_4, *cond_fma<mode>_any): Likewise.
1146 2021-01-13  Richard Biener  <rguenther@suse.de>
1148         PR tree-optimization/92645
1149         * tree-vect-slp.c (vect_build_slp_tree_1): Relax supported
1150         BIT_FIELD_REF argument.
1151         (vect_build_slp_tree_2): Record the desired vector type
1152         on the external vector def.
1153         (vectorizable_slp_permutation): Handle required punning
1154         of existing vector defs.
1156 2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
1158         * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results.
1160 2021-01-13  Richard Sandiford  <richard.sandiford@arm.com>
1162         * config/sh/sh.md (movsf_ie): Remove operands[2] test.
1164 2021-01-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1166         * config.gcc [$target == *-*-gnu*]: Enable
1167         'default_gnu_indirect_function'.
1169 2021-01-13  Jakub Jelinek  <jakub@redhat.com>
1171         PR target/95905
1172         * optabs.c (expand_vec_perm_const): Don't force v0 and v1 into
1173         registers before calling targetm.vectorize.vec_perm_const, only after
1174         that.
1175         * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): Handle
1176         two argument permutation when one operand is zero vector and only
1177         after that force operands into registers.
1178         * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1): New
1179         define_insn_and_split pattern.
1180         (*avx512bw_zero_extendv32qiv32hi2_1): Likewise.
1181         (*avx512f_zero_extendv16hiv16si2_1): Likewise.
1182         (*avx2_zero_extendv8hiv8si2_1): Likewise.
1183         (*avx512f_zero_extendv8siv8di2_1): Likewise.
1184         (*avx2_zero_extendv4siv4di2_1): Likewise.
1185         * config/mips/mips.c (mips_vectorize_vec_perm_const): Force operands
1186         into registers.
1187         * config/arm/arm.c (arm_vectorize_vec_perm_const): Likewise.
1188         * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Likewise.
1189         * config/ia64/ia64.c (ia64_vectorize_vec_perm_const): Likewise.
1190         * config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const): Likewise.
1191         * config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const): Likewise.
1192         * config/gcn/gcn.c (gcn_vectorize_vec_perm_const): Likewise.  Use std::swap.
1194 2021-01-13  Martin Liska  <mliska@suse.cz>
1196         PR tree-optimization/98455
1197         * gimple-if-to-switch.cc (condition_info::record_phi_mapping):
1198         Record also virtual PHIs.
1199         (pass_if_to_switch::execute): Return TODO_cleanup_cfg only
1200         conditionally.
1202 2021-01-13  Jonathan Wakely  <jwakely@redhat.com>
1204         * doc/invoke.texi (C++ Modules): Fix typos.
1206 2021-01-13  Richard Biener  <rguenther@suse.de>
1208         PR tree-optimization/98640
1209         * tree-ssa-sccvn.c (visit_nary_op): Do not try to
1210         handle plus or minus from a truncated operand to be
1211         sign-extended.
1213 2021-01-13  Jakub Jelinek  <jakub@redhat.com>
1215         PR target/96938
1216         * config/i386/i386.md (*btr<mode>_1, *btr<mode>_2): New
1217         define_insn_and_split patterns.
1218         (splitter after *btr<mode>_2): New splitter.
1220 2021-01-13  Martin Liska  <mliska@suse.cz>
1222         PR ipa/98652
1223         * cgraphunit.c (analyze_functions): Remove dead code.
1225 2021-01-13  Qian Jianhua  <qianjh@cn.fujitsu.com>
1227         * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
1228         * config/aarch64/aarch64.c (a64fx_addrcost_table): New.
1229         (a64fx_regmove_cost, a64fx_vector_cost): New.
1230         (a64fx_tunings): Use the new added cost tables.
1232 2021-01-13  Jakub Jelinek  <jakub@redhat.com>
1234         PR target/95905
1235         * config/i386/predicates.md (pmovzx_parallel): New predicate.
1236         * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New
1237         define_insn_and_split pattern.
1238         (*sse4_1_zero_extendv4hiv4si2_3): Likewise.
1239         (*sse4_1_zero_extendv2siv2di2_3): Likewise.
1241 2021-01-13  Julian Brown  <julian@codesourcery.com>
1243         * config/gcn/gcn.c (gcn_conditional_register_usage): Remove dead code
1244         to fix v0 register.
1246 2021-01-13  Julian Brown  <julian@codesourcery.com>
1248         * config/gcn/gcn.c (gcn_md_reorg): Fix case where EXEC reg is live
1249         on entry to a BB.
1251 2021-01-13  Julian Brown  <julian@codesourcery.com>
1253         * config/gcn/gcn-valu.md (recip<mode>2<exec>, recip<mode>2): Use unspec
1254         for reciprocal-approximation instructions.
1255         (div<mode>3): Use fused multiply-accumulate operations for reciprocal
1256         refinement and division result.
1257         * config/gcn/gcn.md (UNSPEC_RCP): New unspec constant.
1259 2021-01-13  Julian Brown  <julian@codesourcery.com>
1261         * config/gcn/gcn-valu.md (subdf): Rename to...
1262         (subdf3): This.
1264 2021-01-12  Martin Liska  <mliska@suse.cz>
1266         * gcov.c (source_info::debug): Fix printf format for 32-bit hosts.
1268 2021-01-12  Andrea Corallo  <andrea.corallo@arm.com>
1270         * function-abi.h: Fix typo.
1272 2021-01-12  Christophe Lyon  <christophe.lyon@linaro.org>
1274         PR target/97875
1275         PR target/97875
1276         * config/arm/arm.h (ARM_HAVE_NEON_V8QI_LDST): New macro.
1277         (ARM_HAVE_NEON_V16QI_LDST, ARM_HAVE_NEON_V4HI_LDST): Likewise.
1278         (ARM_HAVE_NEON_V8HI_LDST, ARM_HAVE_NEON_V2SI_LDST): Likewise.
1279         (ARM_HAVE_NEON_V4SI_LDST, ARM_HAVE_NEON_V4HF_LDST): Likewise.
1280         (ARM_HAVE_NEON_V8HF_LDST, ARM_HAVE_NEON_V4BF_LDST): Likewise.
1281         (ARM_HAVE_NEON_V8BF_LDST, ARM_HAVE_NEON_V2SF_LDST): Likewise.
1282         (ARM_HAVE_NEON_V4SF_LDST, ARM_HAVE_NEON_DI_LDST): Likewise.
1283         (ARM_HAVE_NEON_V2DI_LDST): Likewise.
1284         (ARM_HAVE_V8QI_LDST, ARM_HAVE_V16QI_LDST): Likewise.
1285         (ARM_HAVE_V4HI_LDST, ARM_HAVE_V8HI_LDST): Likewise.
1286         (ARM_HAVE_V2SI_LDST, ARM_HAVE_V4SI_LDST, ARM_HAVE_V4HF_LDST): Likewise.
1287         (ARM_HAVE_V8HF_LDST, ARM_HAVE_V4BF_LDST, ARM_HAVE_V8BF_LDST): Likewise.
1288         (ARM_HAVE_V2SF_LDST, ARM_HAVE_V4SF_LDST, ARM_HAVE_DI_LDST): Likewise.
1289         (ARM_HAVE_V2DI_LDST): Likewise.
1290         * config/arm/mve.md (*movmisalign<mode>_mve_store): New pattern.
1291         (*movmisalign<mode>_mve_load): New pattern.
1292         * config/arm/neon.md (movmisalign<mode>): Move to ...
1293         * config/arm/vec-common.md: ... here.
1295 2021-01-12  Vladimir N. Makarov  <vmakarov@redhat.com>
1297         PR target/97969
1298         * lra-eliminations.c (eliminate_regs_in_insn): Add transformation
1299         of pattern 'plus (plus (hard reg, const), pseudo)'.
1301 2021-01-12  Richard Biener  <rguenther@suse.de>
1303         PR tree-optimization/98550
1304         * tree-vect-slp.c (vect_record_max_nunits): Check whether
1305         the group size is a multiple of the vector element count.
1306         (vect_build_slp_tree_1): When we need to fail because
1307         the vector type choosen causes unrolling do so lazily
1308         without affecting matches only at the end to guide group splitting.
1310 2021-01-12  Martin Liska  <mliska@suse.cz>
1312         PR c++/97284
1313         * optc-save-gen.awk: Compare also n_target_save vars with
1314         strcmp.
1316 2021-01-12  Martin Liska  <mliska@suse.cz>
1318         * gcov.c (source_info::debug): New.
1319         (print_usage): Add --debug (-D) option.
1320         (process_args): Likewise.
1321         (generate_results): Call src->debug after
1322         accumulate_line_counts.
1323         (read_graph_file): Properly assign id for EXIT_BLOCK.
1324         * profile.c (branch_prob): Dump function body before it is
1325         instrumented.
1327 2021-01-12  Jakub Jelinek  <jakub@redhat.com>
1329         PR tree-optimization/98629
1330         * tree-ssa-math-opts.c (arith_overflow_check_p): Don't update use_stmt
1331         unless returning non-zero.
1333 2021-01-12  Jakub Jelinek  <jakub@redhat.com>
1335         PR tree-optimization/95731
1336         * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize
1337         x < 0 && y < 0 && z < 0 into (x | y | z) < 0 for signed x, y, z.
1338         (optimize_range_tests): Call optimize_range_tests_cmp_bitwise
1339         only after optimize_range_tests_var_bound.
1341 2021-01-12  Jakub Jelinek  <jakub@redhat.com>
1343         * configure.ac: Ensure c/Make-lang.in comes first in @all_lang_makefrags@.
1344         * configure: Regenerated.
1346 2021-01-12  liuhongt  <hongtao.liu@intel.com>
1348         PR target/98612
1349         * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS):
1350         Deleted.
1351         * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete
1352         dead code.
1354 2021-01-12  Alexandre Oliva  <oliva@adacore.com>
1356         * ssa-iterators.h (end_imm_use_stmt_traverse): Forward
1357         declare.
1358         (auto_end_imm_use_stmt_traverse): New struct.
1359         (FOR_EACH_IMM_USE_STMT): Use it.
1360         (BREAK_FROM_IMM_USE_STMT, RETURN_FROM_IMM_USE_STMT): Remove,
1361         along with uses...
1362         * gimple-ssa-strength-reduction.c: ... here, ...
1363         * graphite-scop-detection.c: ... here, ...
1364         * ipa-modref.c, ipa-pure-const.c, ipa-sra.c: ... here, ...
1365         * tree-predcom.c, tree-ssa-ccp.c: ... here, ...
1366         * tree-ssa-dce.c, tree-ssa-dse.c: ... here, ...
1367         * tree-ssa-loop-ivopts.c, tree-ssa-math-opts.c: ... here, ...
1368         * tree-ssa-phiprop.c, tree-ssa.c: ... here, ...
1369         * tree-vect-slp.c: ... and here, ...
1370         * doc/tree-ssa.texi: ... and the example here.
1372 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1374         * config/aarch64/aarch64-sve.md (sdiv_pow2<mode>3): Extend from
1375         SVE_FULL_I to SVE_I.  Generate an UNSPEC_PRED_X.
1376         (*sdiv_pow2<mode>3): New pattern.
1377         (@cond_<sve_int_op><mode>): Extend from SVE_FULL_I to SVE_I.
1378         Wrap the ASRD in an UNSPEC_PRED_X.
1379         (*cond_<sve_int_op><mode>_2): Likewise.  Replace the UNSPEC_PRED_X
1380         predicate with a constant PTRUE, if it isn't already.
1381         (*cond_<sve_int_op><mode>_z): Replace with...
1382         (*cond_<sve_int_op><mode>_any): ...this new pattern.
1384 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1386         * config/aarch64/aarch64-sve.md (*cond_bic<mode>_2): Extend from
1387         SVE_FULL_I to SVE_I.
1388         (*cond_bic<mode>_any): Likewise.
1390 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1392         * config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart)
1393         (@aarch64_pred_<MUL_HIGHPART:optab><mode>): Extend from SVE_FULL_I
1394         to SVE_I.
1396 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1398         * config/aarch64/aarch64-sve.md (<su>abd<mode>_3): Extend from
1399         SVE_FULL_I to SVE_I.
1400         (*aarch64_cond_<su>abd<mode>_2): Likewise.
1401         (*aarch64_cond_<su>abd<mode>_any): Likewise.
1402         (@aarch64_pred_<su>abd<mode>): Likewise.  Use UNSPEC_PRED_X
1403         for the max and min but not for the minus.
1404         (*aarch64_cond_<su>abd<mode>_3): New pattern.
1406 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1408         * config/aarch64/iterators.md (SVE_24I): New iterator.
1409         * config/aarch64/aarch64-sve.md (*aarch64_adr<mode>_shift): Extend from
1410         SVE_FULL_SDI to SVE_24I.  Use containers rather than elements.
1412 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1414         * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_BINARY:optab><mode>)
1415         (*cond_<SVE_INT_BINARY:optab><mode>_2): Extend from SVE_FULL_I
1416         to SVE_I.
1417         (*cond_<SVE_INT_BINARY:optab><mode>_3): Likewise.
1418         (*cond_<SVE_INT_BINARY:optab><mode>_any): Likewise.
1419         (*cond_<SVE_INT_BINARY:optab><mode>_2_const): Likewise.
1420         (*cond_<SVE_INT_BINARY:optab><mode>_any_const): Likewise.
1422 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1424         * config/aarch64/aarch64-sve.md (<SVE_INT_BINARY_IMM:optab><mode>3)
1425         (@aarch64_pred_<SVE_INT_BINARY_IMM:optab><mode>)
1426         (*post_ra_<SVE_INT_BINARY_IMM:optab><mode>3): Extend from SVE_FULL_I
1427         to SVE_I.
1429 2021-01-11  Richard Sandiford  <richard.sandiford@arm.com>
1431         * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3)
1432         (v<ASHIFT:optab><mode>3, @aarch64_pred_<optab><mode>)
1433         (*post_ra_v<ASHIFT:optab><mode>3): Extend from SVE_FULL_I to SVE_I.
1435 2021-01-11  Martin Liska  <mliska@suse.cz>
1437         PR jit/98615
1438         * symtab-clones.h (clone_info::release): Release
1439         symtab::m_clones with ggc_delete as it's a GGC memory.
1441 2021-01-11  Matthias Klose  <doko@ubuntu.com>
1443         * Makefile.in (LINK_PROGRESS): Show the link target.
1445 2021-01-11  Richard Biener  <rguenther@suse.de>
1447         PR tree-optimization/91403
1448         * tree-vect-data-refs.c (vect_analyze_group_access_1): Cap
1449         single-element interleaving group size at 4096 elements.
1451 2021-01-11  Richard Biener  <rguenther@suse.de>
1453         PR tree-optimization/98526
1454         * tree-vect-loop.c (vect_model_reduction_cost): Remove costing
1455         of the actual reduction op for the regular case.
1456         (vectorizable_reduction): Cost the stmts
1457         vect_transform_reduction produces here.
1459 2021-01-11  Andreas Krebbel  <krebbel@linux.ibm.com>
1461         * tree-ssa-forwprop.c (simplify_vector_constructor): For
1462         big-endian, use UNPACK[_FLOAT]_HI.
1464 2021-01-11  Tamar Christina  <tamar.christina@arm.com>
1466         * tree-vect-slp-patterns.c (class complex_pattern,
1467         class complex_add_pattern): Add parameters to matches.
1468         (complex_add_pattern::build): Free memory.
1469         (complex_add_pattern::matches): Move validation end of match.
1470         (complex_add_pattern::recognize): Likewise.
1472 2021-01-11  Tamar Christina  <tamar.christina@arm.com>
1474         * tree-vect-slp-patterns.c (linear_loads_p): Fix externals.
1476 2021-01-11  Tamar Christina  <tamar.christina@arm.com>
1478         * tree-vect-slp-patterns.c (is_linear_load_p): Fix ambiguity.
1480 2021-01-11  Jakub Jelinek  <jakub@redhat.com>
1482         PR tree-optimization/95867
1483         * tree-ssa-math-opts.h: New header.
1484         * tree-ssa-math-opts.c: Include tree-ssa-math-opts.h.
1485         (powi_as_mults): No longer static.  Use build_one_cst instead of
1486         build_real.  Formatting fix.
1487         * tree-ssa-reassoc.c: Include tree-ssa-math-opts.h.
1488         (attempt_builtin_powi): Handle multiplication reassociation without
1489         powi_fndecl using powi_as_mults.
1490         (reassociate_bb): For integral types don't require
1491         -funsafe-math-optimizations to call attempt_builtin_powi.
1493 2021-01-11  Jakub Jelinek  <jakub@redhat.com>
1495         PR tree-optimization/95852
1496         * tree-ssa-math-opts.c (maybe_optimize_guarding_check): Change
1497         mul_stmts parameter type to vec<gimple *> &.  Before cond_stmt
1498         allow in the bb any of the stmts in that vector, div_stmt and
1499         up to 3 cast stmts.
1500         (arith_cast_equal_p): New function.
1501         (arith_overflow_check_p): Add cast_stmt argument, handle signed
1502         multiply overflow checks.
1503         (match_arith_overflow): Adjust caller.  Handle signed multiply
1504         overflow checks.
1506 2021-01-11  Jakub Jelinek  <jakub@redhat.com>
1508         PR tree-optimization/95852
1509         * tree-ssa-math-opts.c (maybe_optimize_guarding_check): New function.
1510         (uaddsub_overflow_check_p): Renamed to ...
1511         (arith_overflow_check_p): ... this.  Handle also multiplication
1512         with overflow check.
1513         (match_uaddsub_overflow): Renamed to ...
1514         (match_arith_overflow): ... this.  Add cfg_changed argument.  Handle
1515         also multiplication with overflow check.  Adjust function comment.
1516         (math_opts_dom_walker::after_dom_children): Adjust callers.  Call
1517         match_arith_overflow also for MULT_EXPR.
1519 2021-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1521         * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
1522         __builtin_convertvector.
1523         (vmovl_s16): Likewise.
1524         (vmovl_s32): Likewise.
1525         (vmovl_u8): Likewise.
1526         (vmovl_u16): Likewise.
1527         (vmovl_u32): Likewise.
1528         (vmovn_s16): Likewise.
1529         (vmovn_s32): Likewise.
1530         (vmovn_s64): Likewise.
1531         (vmovn_u16): Likewise.
1532         (vmovn_u32): Likewise.
1533         (vmovn_u64): Likewise.
1535 2021-01-11  Martin Liska  <mliska@suse.cz>
1537         * gimple-if-to-switch.cc (struct condition_info): Use auto_var.
1538         (if_chain::is_beneficial): Delete clusters
1539         (find_conditions): Make second argument of conditions_in_bbs a
1540         pointer so that we control over it's lifetime.
1541         (pass_if_to_switch::execute): Delete them.
1543 2021-01-11  Kewen Lin  <linkw@linux.ibm.com>
1545         * ira.c (move_unallocated_pseudos): Check other_reg and skip if
1546         it isn't set.
1548 2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
1550         * config/vax/vax.md (cc): Remove mode attribute.
1551         (subst_<cc>, subst_f<cc>): Rename to...
1552         (subst_<mode>, subst_f<VAXccnz:mode>): ... these respectively.
1553         (*cbranch<VAXint:mode>4_<VAXcc:mode>): Update for `cc' removal.
1554         (*cbranch<VAXfp:mode>4_<VAXccnz:mode>): Likewise.
1555         (*branch_<mode>, *branch_<mode>_reversed): Likewise.
1557 2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
1559         * config/vax/vax.md (subst_f<cc>): Add mode to operands and
1560         `const_double_zero'.
1562 2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
1564         * config/pdp11/pdp11.md (PDPfp): New mode iterator.
1565         (fcc_cc, fcc_ccnz): Use it.  Add mode to `const_double_zero' and
1566         operands.
1568 2021-01-09  Maciej W. Rozycki  <macro@linux-mips.org>
1570         * genemit.c (gen_exp) <CONST_DOUBLE>: Handle `const_double_zero'
1571         rtx.
1572         * read-rtl.c (rtx_reader::read_rtx_code): Handle machine mode
1573         with `const_double_zero'.
1574         * doc/rtl.texi (Constant Expression Types): Document it.
1576 2021-01-09  Jakub Jelinek  <jakub@redhat.com>
1578         PR c++/98556
1579         * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
1580         POINTER_DIFF_EXPR to be any integral type.
1582 2021-01-09  Jakub Jelinek  <jakub@redhat.com>
1584         PR rtl-optimization/98603
1585         * function.c (instantiate_virtual_regs_in_insn): For asm goto
1586         with impossible constraints, drop all SETs, CLOBBERs, drop PARALLEL
1587         if any, set ASM_OPERANDS mode to VOIDmode and change
1588         ASM_OPERANDS_OUTPUT_CONSTRAINT and ASM_OPERANDS_OUTPUT_IDX.
1590 2021-01-09  Alexandre Oliva  <oliva@gnu.org>
1592         PR debug/97714
1593         * final.c (notice_source_line): Narrow down the condition to
1594         skip a line-0 marker.
1596 2021-01-08  Sergei Trofimovich  <siarheit@google.com>
1598         * ipa-modref.c (merge_call_side_effects): Fix
1599         linebreak split by reordering two print calls.
1601 2021-01-08  Ilya Leoshkevich  <iii@linux.ibm.com>
1603         * config/s390/vector.md (*tf_to_fprx2_0): Rename from
1604         "*mov_tf_to_fprx2_0" for consistency, fix constraint.
1605         (*tf_to_fprx2_1): Rename from "*mov_tf_to_fprx2_1" for
1606         consistency, fix constraint.
1608 2021-01-08  Ilya Leoshkevich  <iii@linux.ibm.com>
1610         * config/s390/s390-c.c (s390_def_or_undef_macro): Accept
1611         callables instead of mask values.
1612         (struct target_flag_set_p): New predicate.
1613         (s390_cpu_cpp_builtins_internal): Define or undefine
1614         __LONG_DOUBLE_VX__ macro.
1616 2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
1618         PR target/98482
1619         * config/i386/i386.c (x86_function_profiler): Use R10 and R11
1620         to call mcount in large model with PIC for NO_PROFILE_COUNTERS
1621         targets.
1623 2021-01-08  Richard Biener  <rguenther@suse.de>
1625         * tree-ssa-sccvn.c (pass_fre::execute): Reset the SCEV hash table.
1627 2021-01-08  Richard Biener  <rguenther@suse.de>
1629         * tree-vect-slp.c (scalar_stmts_to_slp_tree_map_t): Fix.
1630         (vect_build_slp_tree): On cache hit release the matched
1631         scalar stmts vector.
1632         * tree-vect-stmts.c (vectorizable_store): Properly free
1633         vec_oprnds before possibly gathering them again.
1635 2021-01-08  Richard Biener  <rguenther@suse.de>
1637         PR tree-optimization/98544
1638         * tree-vect-slp.c (vect_optimize_slp): Always materialize
1639         permutes at a permute node.
1641 2021-01-08  H.J. Lu  <hjl.tools@gmail.com>
1643         PR target/98482
1644         * config/i386/i386.c (x86_function_profiler): Use R10 to call
1645         mcount in large model.  Sorry for large model with PIC.
1647 2021-01-08  Jakub Jelinek  <jakub@redhat.com>
1649         PR target/98585
1650         * config/i386/i386.opt (ix86_cmodel, ix86_incoming_stack_boundary_arg,
1651         ix86_pmode, ix86_preferred_stack_boundary_arg, ix86_regparm,
1652         ix86_veclibabi_type): Remove x_ prefix, use TargetVariable instead of
1653         TargetSave and initialize for variables with enum types.
1654         (mfentry, mstack-protector-guard-reg=, mstack-protector-guard-offset=,
1655         mstack-protector-guard-symbol=): Add Save.
1656         * config/i386/i386-options.c (ix86_function_specific_save,
1657         ix86_function_specific_restore): Don't save or restore x_ix86_cmodel,
1658         x_ix86_incoming_stack_boundary_arg, x_ix86_pmode,
1659         x_ix86_preferred_stack_boundary_arg, x_ix86_regparm,
1660         x_ix86_veclibabi_type.
1662 2021-01-08  Richard Sandiford  <richard.sandiford@arm.com>
1664         * config/aarch64/aarch64-sve.md (*cnot<mode>): Extend from
1665         SVE_FULL_I to SVE_I.
1666         (*cond_cnot<mode>_2, *cond_cnot<mode>_any): Likewise.
1668 2021-01-08  Richard Sandiford  <richard.sandiford@arm.com>
1670         * config/aarch64/aarch64-sve.md (*cond_uxt<mode>_2): Extend from
1671         SVE_FULL_I to SVE_I.
1672         (*cond_uxt<mode>_any): Likewise.
1674 2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1676         * config/aarch64/iterators.md (Vwhalf): New iterator.
1677         * config/aarch64/aarch64-simd.md (aarch64_<sur>adalp<mode>_3):
1678         Rename to...
1679         (aarch64_<sur>adalp<mode>): ... This.  Make more
1680         builtin-friendly.
1681         (<sur>sadv16qi): Adjust callsite of the above.
1682         * config/aarch64/aarch64-simd-builtins.def (sadalp, uadalp): New
1683         builtins.
1684         * config/aarch64/arm_neon.h (vpadal_s8): Reimplement using
1685         builtins.
1686         (vpadal_s16): Likewise.
1687         (vpadal_u8): Likewise.
1688         (vpadal_u16): Likewise.
1689         (vpadalq_s8): Likewise.
1690         (vpadalq_s16): Likewise.
1691         (vpadalq_s32): Likewise.
1692         (vpadalq_u8): Likewise.
1693         (vpadalq_u16): Likewise.
1694         (vpadalq_u32): Likewise.
1696 2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1698         * config/aarch64/aarch64-simd.md (aarch64_<su>abd<mode>_3):
1699         Rename to...
1700         (aarch64_<su>abd<mode>): ... This.
1701         (<sur>sadv16qi): Adjust callsite of the above.
1702         * config/aarch64/aarch64-simd-builtins.def (sabd, uabd): Define
1703         builtins.
1704         * config/aarch64/arm_neon.h (vabd_s8): Reimplement using
1705         builtin.
1706         (vabd_s16): Likewise.
1707         (vabd_s32): Likewise.
1708         (vabd_u8): Likewise.
1709         (vabd_u16): Likewise.
1710         (vabd_u32): Likewise.
1711         (vabdq_s8): Likewise.
1712         (vabdq_s16): Likewise.
1713         (vabdq_s32): Likewise.
1714         (vabdq_u8): Likewise.
1715         (vabdq_u16): Likewise.
1716         (vabdq_u32): Likewise.
1718 2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1720         * config/aarch64/aarch64-simd-builtins.def (saba, uaba): Define
1721         builtins.
1722         * config/aarch64/arm_neon.h (vaba_s8): Implement using builtin.
1723         (vaba_s16): Likewise.
1724         (vaba_s32): Likewise.
1725         (vaba_u8): Likewise.
1726         (vaba_u16): Likewise.
1727         (vaba_u32): Likewise.
1728         (vabaq_s8): Likewise.
1729         (vabaq_s16): Likewise.
1730         (vabaq_s32): Likewise.
1731         (vabaq_u8): Likewise.
1732         (vabaq_u16): Likewise.
1733         (vabaq_u32): Likewise.
1735 2021-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1737         * config/aarch64/aarch64-simd.md (aba<mode>_3): Rename to...
1738         (aarch64_<su>aba<mode>): ... This.  Handle uaba as well.
1739         Change RTL pattern to match.
1741 2021-01-08  Kito Cheng  <kito.cheng@sifive.com>
1743         * common/config/riscv/riscv-common.c (riscv_current_subset_list): New.
1744         * config/riscv/riscv-c.c (riscv-subset.h): New.
1745         (INCLUDE_STRING): Define.
1746         (riscv_cpu_cpp_builtins): Add new style architecture extension
1747         test macros.
1748         * config/riscv/riscv-subset.h (riscv_subset_list::begin): New.
1749         (riscv_subset_list::end): New.
1750         (riscv_current_subset_list): New.
1752 2021-01-08  Kito Cheng  <kito.cheng@sifive.com>
1754         * common/config/riscv/riscv-common.c (RISCV_DONT_CARE_VERSION):
1755         Move to riscv-subset.h.
1756         (struct riscv_subset_t): Ditto.
1757         (class riscv_subset_list): Ditto.
1758         * config/riscv/riscv-subset.h (RISCV_DONT_CARE_VERSION): Move
1759         from riscv-common.c.
1760         (struct riscv_subset_t): Ditto.
1761         (class riscv_subset_list): Ditto.
1762         * config/riscv/t-riscv ($(common_out_file)): Add file
1763         dependency.
1765 2021-01-07  Jakub Jelinek  <jakub@redhat.com>
1767         PR target/98567
1768         * config/i386/i386.md (*bmi_blsi_<mode>_cmp, *bmi_blsi_<mode>_ccno):
1769         New define_insn patterns.
1771 2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
1773         * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_UNARY:optab><mode>)
1774         (*cond_<SVE_INT_UNARY:optab><mode>_2): Extend from SVE_FULL_I to SVE_I.
1775         (*cond_<SVE_INT_UNARY:optab><mode>_any): Likewise.
1777 2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
1779         PR tree-optimization/98560
1780         * internal-fn.def (IFN_VCONDU, IFN_VCONDEQ): Use type vec_cond.
1781         * internal-fn.c (vec_cond_mask_direct): Get the data mode from
1782         argument 1.
1783         (vec_cond_direct): Likewise argument 2.
1784         (vec_condu_direct, vec_condeq_direct): Delete.
1785         (expand_vect_cond_optab_fn): Rename to...
1786         (expand_vec_cond_optab_fn): ...this, replacing old macro.
1787         (expand_vec_condu_optab_fn, expand_vec_condeq_optab_fn): Delete.
1788         (expand_vect_cond_mask_optab_fn): Rename to...
1789         (expand_vec_cond_mask_optab_fn): ...this, replacing old macro.
1790         (direct_vec_cond_mask_optab_supported_p): Treat the optab as a
1791         convert optab.
1792         (direct_vec_cond_optab_supported_p): Likewise.
1793         (direct_vec_condu_optab_supported_p): Delete.
1794         (direct_vec_condeq_optab_supported_p): Delete.
1795         * gimple-isel.cc: Include internal-fn.h.
1796         (gimple_expand_vec_cond_expr): Check that IFN_VCONDEQ is supported
1797         before using it.
1799 2021-01-07  Richard Sandiford  <richard.sandiford@arm.com>
1801         PR tree-optimization/98560
1802         * gimple-isel.cc (gimple_expand_vec_cond_expr): If we fail to use
1803         IFN_VCOND{,U,EQ}, fall back on IFN_VCOND_MASK.
1805 2021-01-07  Uroš Bizjak  <ubizjak@gmail.com>
1807         * config/i386/i386.md (insn): Merge from plusminus_insn, shift_insn,
1808         rotate_insn and optab code attributes.
1809         Update all uses to merged code attribute.
1810         * config/i386/sse.md: Update all uses to merged code attribute.
1811         * config/i386/mmx.md: Update all uses to merged code attribute.
1813 2021-01-07  Jakub Jelinek  <jakub@redhat.com>
1815         PR tree-optimization/98568
1816         * gimple-ssa-store-merging.c (bswap_view_convert): New function.
1817         (bswap_replace): Use it.
1819 2021-01-06  Vladimir N. Makarov  <vmakarov@redhat.com>
1821         PR rtl-optimization/97978
1822         * lra-int.h (lra_hard_reg_split_p): New external.
1823         * lra.c (lra_hard_reg_split_p): New global.
1824         (lra): Set up lra_hard_reg_split_p after splitting a hard reg.
1825         * lra-assigns.c (lra_assign): Don't check allocation correctness
1826         after hard reg splitting.
1828 2021-01-06  Martin Sebor  <msebor@redhat.com>
1830         PR c++/98305
1831         * builtins.c (new_delete_mismatch_p): New overload.
1832         (new_delete_mismatch_p (tree, tree)): Call it.
1834 2021-01-06  Alexandre Oliva  <oliva@adacore.com>
1836         * Makefile.in (T_GLIMITS_H): New.
1837         (stmp-int-hdrs): Depend on it, use it.
1838         * config/t-vxworks (T_GLIMITS_H): Override it.
1839         (vxw-glimits.h): New.
1841 2021-01-06  Richard Biener  <rguenther@suse.de>
1843         PR tree-optimization/98513
1844         * value-range.cc (intersect_ranges): Compare the upper bounds
1845         for the expected relation.
1847 2021-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
1849         Revert:
1850         2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
1852         * doc/standards.texi (HSAIL): Remove section.
1854 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1856         * configure: Re-generate.
1858 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
1860         * doc/invoke.texi (-std=c++20): Adjust for the publication of
1861         ISO 14882:2020 standard.
1862         * doc/standards.texi: Likewise.
1864 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
1866         PR tree-optimization/94802
1867         * expr.h (maybe_optimize_sub_cmp_0): Declare.
1868         * expr.c: Include tree-pretty-print.h and flags.h.
1869         (maybe_optimize_sub_cmp_0): New function.
1870         (do_store_flag): Use it.
1871         * cfgexpand.c (expand_gimple_cond): Likewise.
1873 2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
1875         * mux-utils.h (pointer_mux::m_ptr): Tweak description of contents.
1876         * rtlanal.c (simple_regno_set): Tweak description to clarify the
1877         RMW condition.
1879 2021-01-05  Richard Biener  <rguenther@suse.de>
1881         PR tree-optimization/98516
1882         * tree-vect-slp.c (vect_optimize_slp): Permute the incoming
1883         lanes when materializing on a VEC_PERM node.
1884         (vectorizable_slp_permutation): Dump the permute properly.
1886 2021-01-05  Richard Biener  <rguenther@suse.de>
1888         * tree-vect-slp.c (vect_slp_region): Move debug counter
1889         to cover individual subgraphs.
1891 2021-01-05  Richard Biener  <rguenther@suse.de>
1893         PR tree-optimization/98428
1894         * tree-vect-slp.c (vect_build_slp_tree_1): Properly reject
1895         vector lane extracts for loop vectorization.
1897 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
1899         PR tree-optimization/98514
1900         * tree-ssa-reassoc.c (bb_rank): Change type from long * to
1901         int64_t *.
1902         (operand_rank): Change type from hash_map<tree, long> to
1903         hash_map<tree, int64_t>.
1904         (phi_rank): Change return type from long to int64_t.
1905         (loop_carried_phi): Change block_rank variable type from long to
1906         int64_t.
1907         (propagate_rank): Change return type, rank parameter type and
1908         op_rank variable type from long to int64_t.
1909         (find_operand_rank): Change return type from long to int64_t
1910         and change slot variable type from long * to int64_t *.
1911         (insert_operand_rank): Change rank parameter type from long to
1912         int64_t.
1913         (get_rank): Change return type and rank variable type from long to
1914         int64_t.  Use PRId64 instead of ld to print the rank.
1915         (init_reassoc): Change rank variable type from long to int64_t
1916         and adjust correspondingly bb_rank and operand_rank initialization.
1918 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
1920         PR tree-optimization/96928
1921         * tree-ssa-phiopt.c (xor_replacement): New function.
1922         (tree_ssa_phiopt_worker): Call it.
1924 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
1926         PR tree-optimization/96930
1927         * match.pd ((A / (1 << B)) -> (A >> B)): If A is extended
1928         from narrower value which has the same type as 1 << B, perform
1929         the right shift on the narrower value followed by extension.
1931 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
1933         PR tree-optimization/96239
1934         * gimple-ssa-store-merging.c (maybe_optimize_vector_constructor): New
1935         function.
1936         (get_status_for_store_merging): Don't return BB_INVALID for blocks
1937         with potential bswap optimizable CONSTRUCTORs.
1938         (pass_store_merging::execute): Optimize vector CONSTRUCTORs with bswap
1939         if possible.
1941 2021-01-05  Richard Biener  <rguenther@suse.de>
1943         PR tree-optimization/98381
1944         * tree.c (vector_element_bits): Properly compute bool vector
1945         element size.
1946         * tree-vect-loop.c (vectorizable_live_operation): Properly
1947         compute the last lane bit offset.
1949 2021-01-05  Uroš Bizjak  <ubizjak@gmail.com>
1951         PR target/98522
1952         * config/i386/sse.md (sse_cvtps2pi): Redefine as define_insn_and_split.
1953         Clear the top 64 bytes of the input XMM register.
1954         (sse_cvttps2pi): Ditto.
1956 2021-01-05  Uroš Bizjak  <ubizjak@gmail.com>
1958         PR target/98521
1959         * config/i386/xopintrin.h (_mm256_cmov_si256): New.
1961 2021-01-05  H.J. Lu  <hjl.tools@gmail.com>
1963         PR target/98495
1964         * config/i386/xmmintrin.h (_mm_extract_pi16): Cast to unsigned
1965         short first.
1967 2021-01-05  Claudiu Zissulescu  <claziss@synopsys.com>
1969         * config/arc/arc.md (maddsidi4_split): Use ACC_REG_FIRST.
1970         (umaddsidi4_split): Likewise.
1972 2021-01-05  liuhongt  <hongtao.liu@intel.com>
1974         PR target/98461
1975         * config/i386/sse.md (*sse2_pmovskb_zexthisi): New
1976         define_insn_and_split for zero_extend of subreg HI of pmovskb
1977         result.
1978         (*sse2_pmovskb_zexthisi): Add new combine splitters for
1979         zero_extend of not of subreg HI of pmovskb result.
1981 2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
1983         PR target/97269
1984         * explow.c (convert_memory_address_addr_space_1): Handle UNSPECs
1985         nested in CONSTs.
1986         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Use
1987         convert_memory_address to convert symbolic immediates to ptr_mode
1988         before forcing them to memory.
1990 2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
1992         PR rtl-optimization/97144
1993         * recog.c (constrain_operands): Initialize matching_operand
1994         for each alternative, rather than only doing it once.
1996 2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
1998         PR rtl-optimization/98403
1999         * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Explain
2000         why we don't remove call clobbers.
2001         (function_info::apply_changes_to_insn): Don't attempt to add
2002         call clobbers here.
2004 2021-01-05  Richard Sandiford  <richard.sandiford@arm.com>
2006         PR tree-optimization/98371
2007         * tree-vect-loop.c (vect_reanalyze_as_main_loop): New function.
2008         (vect_analyze_loop): If an epilogue loop appears to be cheaper
2009         than the main loop, re-analyze it as a main loop before adopting
2010         it as a main loop.
2012 2021-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2014         PR c++/98316
2015         * configure.ac (NETLIBS): Determine using AX_LIB_SOCKET_NSL.
2016         * aclocal.m4, configure: Regenerate.
2017         * Makefile.in (NETLIBS): Define.
2018         (BACKEND): Remove $(CODYLIB).
2020 2021-01-05  Jakub Jelinek  <jakub@redhat.com>
2022         PR rtl-optimization/98334
2023         * simplify-rtx.c (simplify_context::simplify_binary_operation_1):
2024         Optimize (X - 1) * Y + Y to X * Y or (X + 1) * Y - Y to X * Y.
2026 2021-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2028         * tree-inline.c (expand_call_inline): Restore input_location.
2029         Return result from recursive call.
2031 2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
2033         PR tree-optimization/95401
2034         * config/aarch64/aarch64-sve-builtins.cc
2035         (gimple_folder::load_store_cookie): Use bits rather than bytes
2036         for the alignment argument to IFN_MASK_LOAD and IFN_MASK_STORE.
2037         * gimple-fold.c (gimple_fold_mask_load_store_mem_ref): Likewise.
2038         * tree-vect-stmts.c (vectorizable_store): Likewise.
2039         (vectorizable_load): Likewise.
2041 2021-01-04  Richard Biener  <rguenther@suse.de>
2043         PR tree-optimization/98308
2044         * tree-vect-stmts.c (vectorizable_load): Set invariant mask
2045         SLP vectype.
2047 2021-01-04  Jakub Jelinek  <jakub@redhat.com>
2049         PR tree-optimization/95771
2050         * tree-ssa-loop-niter.c (number_of_iterations_popcount): Handle types
2051         with precision smaller than int's precision and types with precision
2052         twice as large as long long.  Formatting fixes.
2054 2021-01-04  Richard Biener  <rguenther@suse.de>
2056         PR tree-optimization/98464
2057         * tree-ssa-sccvn.c (vn_valueize_for_srt): Rename from ...
2058         (vn_valueize_wrapper): ... this.  Temporarily adjust vn_context_bb.
2059         (process_bb): Adjust.
2061 2021-01-04  Matthew Malcomson  <matthew.malcomson@arm.com>
2063         PR other/98437
2064         * doc/invoke.texi (-fsanitize=address): Fix wording describing
2065         clash with -fsanitize=hwaddress.
2067 2021-01-04  Richard Biener  <rguenther@suse.de>
2069         PR tree-optimization/98282
2070         * tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
2071         invariants as VN_NARY.
2073 2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
2075         PR target/89057
2076         * config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Accept
2077         aarch64_simd_reg_or_zero for operand 2.  Use the combinez patterns
2078         to handle zero operands.
2080 2021-01-04  Richard Sandiford  <richard.sandiford@arm.com>
2082         * config/aarch64/aarch64.c (offset_6bit_signed_scaled_p): New function.
2083         (offset_6bit_unsigned_scaled_p): Fix typo in comment.
2084         (aarch64_sve_prefetch_operand_p): Accept MUL VLs in the range
2085         [-32, 31].
2087 2021-01-04  Richard Biener  <rguenther@suse.de>
2089         PR tree-optimization/98393
2090         * tree-vect-slp.c (vect_build_slp_tree): Properly zero matches
2091         when hitting the limit.
2093 2021-01-04  Richard Biener  <rguenther@suse.de>
2095         PR tree-optimization/98291
2096         * tree-vect-loop.c (vectorizable_reduction): Bypass
2097         associativity check for SLP reductions with VF 1.
2099 2021-01-04  Jakub Jelinek  <jakub@redhat.com>
2101         PR tree-optimization/96782
2102         * match.pd (x == ~x -> false, x != ~x -> true): New simplifications.
2104 2021-01-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2106         * collect-utils.c (collect_execute): Check dumppfx.
2107         * collect2.c (maybe_run_lto_and_relink, do_link): Pass atsuffix
2108         to collect_execute.
2109         (do_link): Add new parameter atsuffix.
2110         (main): Handle -dumpdir option.  Skip one argument for
2111         -o, -isystem and -B options.
2112         * gcc.c (make_at_file): New helper function.
2113         (close_at_file): Use it.
2115 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2117         * config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust.
2118         Amend handling for LD64_VERSION fallback defaults.
2120 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2122         * config.gcc: Compute default version information
2123         from the configured target.  Likewise defaults for
2124         ld64.
2125         * config/darwin10.h: Removed.
2126         * config/darwin12.h: Removed.
2127         * config/darwin9.h: Removed.
2128         * config/rs6000/darwin8.h: Removed.
2130 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2132         * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
2134 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2136         * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Move from here..
2137         * config/darwin.h (STACK_CHECK_STATIC_BUILTIN): .. to here.
2139 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2141         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move from
2142         here...
2143         * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): ... to here.
2145 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2147         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move the spec
2148         for the Darwin10 unwinder stub from here ...
2149         * config/darwin.h (LINK_COMMAND_SPEC_A): ... to here.
2151 2021-01-02  Iain Sandoe  <iain@sandoe.co.uk>
2153         * config/darwin.h (DSYMUTIL_SPEC): Default to DWARF
2154         (ASM_DEBUG_SPEC):Only define if the assembler supports
2155         stabs.
2156         (PREFERRED_DEBUGGING_TYPE): Default to DWARF.
2157         (DARWIN_PREFER_DWARF): Define.
2158         * config/darwin9.h (PREFERRED_DEBUGGING_TYPE): Remove.
2159         (DARWIN_PREFER_DWARF): Likewise
2160         (DSYMUTIL_SPEC): Likewise.
2161         (COLLECT_RUN_DSYMUTIL): Likewise.
2162         (ASM_DEBUG_SPEC): Likewise.
2163         (ASM_DEBUG_OPTION_SPEC): Likewise.
2165 2021-01-02  Jan Hubicka  <jh@suse.cz>
2167         * cfg.c (free_block): ggc_free bb.
2169 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
2171         * gcc.c (process_command): Update copyright notice dates.
2172         * gcov-dump.c (print_version): Ditto.
2173         * gcov.c (print_version): Ditto.
2174         * gcov-tool.c (print_version): Ditto.
2175         * gengtype.c (create_file): Ditto.
2176         * doc/cpp.texi: Bump @copying's copyright year.
2177         * doc/cppinternals.texi: Ditto.
2178         * doc/gcc.texi: Ditto.
2179         * doc/gccint.texi: Ditto.
2180         * doc/gcov.texi: Ditto.
2181         * doc/install.texi: Ditto.
2182         * doc/invoke.texi: Ditto.
2184 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
2186         * ChangeLog-2020: Rotate ChangeLog.  New file.
2189 Copyright (C) 2021 Free Software Foundation, Inc.
2191 Copying and distribution of this file, with or without modification,
2192 are permitted in any medium without royalty provided the copyright
2193 notice and this notice are preserved.