re PR tree-optimization/93040 (gcc doesn't optimize unaligned accesses to a 16-bit...
[gcc.git] / gcc / ChangeLog
1 2020-01-09 Richard Biener <rguenther@suse.de>
2
3 PR tree-optimization/93040
4 * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit.
5
6 2020-01-09 Georg-Johann Lay <avr@gjlay.de>
7
8 * common/config/avr/avr-common.c (avr_option_optimization_table)
9 [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early.
10
11 2020-01-09 Martin Liska <mliska@suse.cz>
12
13 * cgraphclones.c (symbol_table::materialize_all_clones):
14 Use cgraph_node::dump_name.
15
16 2020-01-09 Jakub Jelinek <jakub@redhat.com>
17
18 PR inline-asm/93202
19 * config/riscv/riscv.c (riscv_print_operand_reloc): Use
20 output_operand_lossage instead of gcc_unreachable.
21 * doc/md.texi (riscv f constraint): Fix typo.
22
23 PR target/93141
24 * config/i386/i386.md (subv<mode>4): Use SWIDWI iterator instead of
25 SWI. Use <general_hilo_operand> instead of <general_operand>. Use
26 CONST_SCALAR_INT_P instead of CONST_INT_P.
27 (*subv<mode>4_1): Rename to ...
28 (subv<mode>4_1): ... this.
29 (*subv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
30 define_insn_and_split patterns.
31 (*subv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
32 patterns.
33
34 2020-01-08 David Malcolm <dmalcolm@redhat.com>
35
36 * vec.c (class selftest::count_dtor): New class.
37 (selftest::test_auto_delete_vec): New test.
38 (selftest::vec_c_tests): Call it.
39 * vec.h (class auto_delete_vec): New class template.
40 (auto_delete_vec<T>::~auto_delete_vec): New dtor.
41
42 2020-01-08 David Malcolm <dmalcolm@redhat.com>
43
44 * sbitmap.h (auto_sbitmap): Add operator const_sbitmap.
45
46 2020-01-08 Jim Wilson <jimw@sifive.com>
47
48 * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out
49 use of TLS_MODEL_LOCAL_EXEC when not pic.
50
51 2020-01-08 David Malcolm <dmalcolm@redhat.com>
52
53 * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix
54 memory leak.
55
56 2020-01-08 Jakub Jelinek <jakub@redhat.com>
57
58 PR target/93187
59 * config/i386/i386.md (*stack_protect_set_2_<mode> peephole2,
60 *stack_protect_set_3 peephole2): Also check that the second
61 insns source is general_operand.
62
63 PR target/93174
64 * config/i386/i386.md (addcarry<mode>_0): Use nonimmediate_operand
65 predicate for output operand instead of register_operand.
66 (addcarry<mode>, addcarry<mode>_1): Likewise. Add alternative with
67 memory destination and non-memory operands[2].
68
69 2020-01-08 Martin Liska <mliska@suse.cz>
70
71 * cgraph.c (cgraph_node::dump): Use ::dump_name or
72 ::dump_asm_name instead of (::name or ::asm_name).
73 * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
74 * cgraphunit.c (walk_polymorphic_call_targets): Likewise.
75 (analyze_functions): Likewise.
76 (expand_all_functions): Likewise.
77 * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
78 (propagate_bits_across_jump_function): Likewise.
79 (dump_profile_updates): Likewise.
80 (ipcp_store_bits_results): Likewise.
81 (ipcp_store_vr_results): Likewise.
82 * ipa-devirt.c (dump_targets): Likewise.
83 * ipa-fnsummary.c (analyze_function_body): Likewise.
84 * ipa-hsa.c (check_warn_node_versionable): Likewise.
85 (process_hsa_functions): Likewise.
86 * ipa-icf.c (sem_item_optimizer::merge_classes): Likewise.
87 (set_alias_uids): Likewise.
88 * ipa-inline-transform.c (save_inline_function_body): Likewise.
89 * ipa-inline.c (recursive_inlining): Likewise.
90 (inline_to_all_callers_1): Likewise.
91 (ipa_inline): Likewise.
92 * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
93 (ipa_propagate_frequency): Likewise.
94 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
95 (remove_described_reference): Likewise.
96 * ipa-pure-const.c (worse_state): Likewise.
97 (check_retval_uses): Likewise.
98 (analyze_function): Likewise.
99 (propagate_pure_const): Likewise.
100 (propagate_nothrow): Likewise.
101 (dump_malloc_lattice): Likewise.
102 (propagate_malloc): Likewise.
103 (pass_local_pure_const::execute): Likewise.
104 * ipa-visibility.c (optimize_weakref): Likewise.
105 (function_and_variable_visibility): Likewise.
106 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
107 (ipa_discover_variable_flags): Likewise.
108 * lto-streamer-out.c (output_function): Likewise.
109 (output_constructor): Likewise.
110 * tree-inline.c (copy_bb): Likewise.
111 * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
112 * varpool.c (symbol_table::remove_unreferenced_decls): Likewise.
113
114 2020-01-08 Richard Biener <rguenther@suse.de>
115
116 PR middle-end/93199
117 * tree-eh.c (sink_clobbers): Update virtual operands for
118 the first and last stmt only. Add a dry-run capability.
119 (pass_lower_eh_dispatch::execute): Perform clobber sinking
120 after CFG manipulations and in RPO order to catch all
121 secondary opportunities reliably.
122
123 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
124
125 PR target/93182
126 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
127
128 2019-01-08 Richard Biener <rguenther@suse.de>
129
130 PR middle-end/93199
131 * gimple-fold.c (rewrite_to_defined_overflow): Mark stmt modified.
132 * tree-ssa-loop-im.c (move_computations_worker): Properly adjust
133 virtual operand, also updating SSA use.
134 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
135 Update stmt after resetting virtual operand.
136 (tree_loop_interchange::move_code_to_inner_loop): Likewise.
137 * gimple-iterator.c (gsi_remove): When not removing the stmt
138 permanently do not delink immediate uses or mark the stmt modified.
139
140 2020-01-08 Martin Liska <mliska@suse.cz>
141
142 * ipa-fnsummary.c (dump_ipa_call_summary): Use symtab_node::dump_name.
143 (ipa_call_context::estimate_size_and_time): Likewise.
144 (inline_analyze_function): Likewise.
145
146 2020-01-08 Martin Liska <mliska@suse.cz>
147
148 * cgraph.c (cgraph_node::dump): Use systematically
149 dump_asm_name.
150
151 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
152
153 Add -nodevicespecs option for avr.
154
155 PR target/93182
156 * config/avr/avr.opt (-nodevicespecs): New driver option.
157 * config/avr/driver-avr.c (avr_devicespecs_file): Only issue
158 "-specs=device-specs/..." if that option is not set.
159 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
160
161 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
162
163 Implement 64-bit double functions for avr.
164
165 PR target/92055
166 * config.gcc (tm_defines) [target=avr]: Support --with-libf7,
167 --with-double-comparison.
168 * doc/install.texi: Document them.
169 * config/avr/avr-c.c (avr_cpu_cpp_builtins)
170 <WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS>
171 <WITH_DOUBLE_COMPARISON>: New built-in defines.
172 * doc/invoke.texi (AVR Built-in Macros): Document them.
173 * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New.
174 * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function.
175 * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro.
176
177 2020-01-08 Richard Earnshaw <rearnsha@arm.com>
178
179 PR target/93188
180 * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match
181 armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants
182 when only building rm-profile multilibs.
183
184 2020-01-08 Feng Xue <fxue@os.amperecomputing.com>
185
186 PR ipa/93084
187 * ipa-cp.c (self_recursively_generated_p): Find matched aggregate
188 lattice for a value to check.
189 (propagate_vals_across_arith_jfunc): Add an assertion to ensure
190 finite propagation in self-recursive scc.
191
192 2020-01-08 Luo Xiong Hu <luoxhu@linux.ibm.com>
193
194 * ipa-inline.c (caller_growth_limits): Restore the AND.
195
196 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
197
198 * config/gcn/gcn-valu.md (VEC_1REG_INT_ALT): Delete iterator.
199 (VEC_ALLREG_ALT): New iterator.
200 (VEC_ALLREG_INT_MODE): New iterator.
201 (VCMP_MODE): New iterator.
202 (VCMP_MODE_INT): New iterator.
203 (vec_cmpu<mode>di): Use VCMP_MODE_INT.
204 (vec_cmp<u>v64qidi): New define_expand.
205 (vec_cmp<mode>di_exec): Use VCMP_MODE.
206 (vec_cmpu<mode>di_exec): New define_expand.
207 (vec_cmp<u>v64qidi_exec): New define_expand.
208 (vec_cmp<mode>di_dup): Use VCMP_MODE.
209 (vec_cmp<mode>di_dup_exec): Use VCMP_MODE.
210 (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>): Rename ...
211 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>): ... to this.
212 (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>_exec): Rename ...
213 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>_exec): ... to this.
214 (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>): Rename ...
215 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>): ... to this.
216 (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>_exec): Rename ...
217 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>_exec): ... to
218 this.
219 * config/gcn/gcn.c (print_operand): Fix 8 and 16 bit suffixes.
220 * config/gcn/gcn.md (expander): Add sign_extend and zero_extend.
221
222 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
223
224 * config/gcn/constraints.md (DA): Update description and match.
225 (DB): Likewise.
226 (Db): New constraint.
227 * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second
228 parameter.
229 * config/gcn/gcn.c (gcn_inline_constant64_p): Add 'mixed' parameter.
230 Implement 'Db' mixed immediate type.
231 * config/gcn/gcn-valu.md (addcv64si3<exec_vcc>): Rework constraints.
232 (addcv64si3_dup<exec_vcc>): Delete.
233 (subcv64si3<exec_vcc>): Rework constraints.
234 (addv64di3): Rework constraints.
235 (addv64di3_exec): Rework constraints.
236 (subv64di3): Rework constraints.
237 (addv64di3_dup): Delete.
238 (addv64di3_dup_exec): Delete.
239 (addv64di3_zext): Rework constraints.
240 (addv64di3_zext_exec): Rework constraints.
241 (addv64di3_zext_dup): Rework constraints.
242 (addv64di3_zext_dup_exec): Rework constraints.
243 (addv64di3_zext_dup2): Rework constraints.
244 (addv64di3_zext_dup2_exec): Rework constraints.
245 (addv64di3_sext_dup2): Rework constraints.
246 (addv64di3_sext_dup2_exec): Rework constraints.
247
248 2020-01-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
249
250 * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented
251 existing target checks.
252
253 2020-01-07 Richard Biener <rguenther@suse.de>
254
255 * doc/install.texi: Bump minimal supported MPC version.
256
257 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
258
259 * langhooks-def.h (lhd_simulate_enum_decl): Declare.
260 (LANG_HOOKS_SIMULATE_ENUM_DECL): Use it.
261 * langhooks.c: Include stor-layout.h.
262 (lhd_simulate_enum_decl): New function.
263 * config/aarch64/aarch64-sve-builtins.cc (init_builtins): Call
264 handle_arm_sve_h for the LTO frontend.
265 (register_vector_type): Cope with null returns from pushdecl.
266
267 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
268
269 * config/aarch64/aarch64-protos.h (aarch64_sve::svbool_type_p)
270 (aarch64_sve::nvectors_if_data_type): Replace with...
271 (aarch64_sve::builtin_type_p): ...this.
272 * config/aarch64/aarch64-sve-builtins.cc: Include attribs.h.
273 (find_vector_type): Delete.
274 (add_sve_type_attribute): New function.
275 (lookup_sve_type_attribute): Likewise.
276 (register_builtin_types): Add an "SVE type" attribute to each type.
277 (register_tuple_type): Likewise.
278 (svbool_type_p, nvectors_if_data_type): Delete.
279 (mangle_builtin_type): Use lookup_sve_type_attribute.
280 (builtin_type_p): Likewise. Add an overload that returns the
281 number of constituent vector and predicate registers.
282 * config/aarch64/aarch64.c (aarch64_sve_argument_p): Delete.
283 (aarch64_returns_value_in_sve_regs_p): Use aarch64_sve::builtin_type_p
284 instead of aarch64_sve_argument_p.
285 (aarch64_takes_arguments_in_sve_regs_p): Likewise.
286 (aarch64_pass_by_reference): Likewise.
287 (aarch64_function_value_1): Likewise.
288 (aarch64_return_in_memory): Likewise.
289 (aarch64_layout_arg): Likewise.
290
291 2020-01-07 Jakub Jelinek <jakub@redhat.com>
292
293 PR tree-optimization/93156
294 * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second
295 least significant bit is always clear.
296
297 PR tree-optimization/93118
298 * match.pd ((x >> c) << c -> x & (-1<<c)): Add nop_convert?. Add new
299 simplifier with two intermediate conversions.
300
301 2020-01-07 Martin Liska <mliska@suse.cz>
302
303 * params.opt: Add Optimization for various parameters.
304
305 2020-01-07 Martin Liska <mliska@suse.cz>
306
307 PR ipa/83411
308 * doc/extend.texi: Explain cloning for target_clone
309 attribute.
310
311 2020-01-07 Martin Liska <mliska@suse.cz>
312
313 PR tree-optimization/92860
314 * common.opt: Make in Optimization option
315 as it is affected by -O0, which is an Optimization
316 option.
317 * tree-inline.c (tree_inlinable_function_p):
318 Use opt_for_fn for warn_inline.
319 (expand_call_inline): Likewise.
320
321 2020-01-07 Martin Liska <mliska@suse.cz>
322
323 PR tree-optimization/92860
324 * common.opt: Make flag_ree as optimization
325 attribute.
326
327 2020-01-07 Martin Liska <mliska@suse.cz>
328
329 PR optimization/92860
330 * params.opt: Mark param_min_crossjump_insns with Optimization
331 keyword.
332
333 2020-01-07 Luo Xiong Hu <luoxhu@linux.ibm.com>
334
335 * ipa-inline-analysis.c (estimate_growth): Fix typo.
336 * ipa-inline.c (caller_growth_limits): Use OR instead of AND.
337
338 2020-01-06 Michael Meissner <meissner@linux.ibm.com>
339
340 * config/rs6000/rs6000.c (hard_reg_and_mode_to_addr_mask): New
341 helper function to return the valid addressing formats for a given
342 hard register and mode.
343 (rs6000_adjust_vec_address): Call hard_reg_and_mode_to_addr_mask.
344
345 * config/rs6000/constraints.md (Q constraint): Update
346 documentation.
347 * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint
348 documentation.
349
350 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
351 Use 'Q' for doing vector extract from memory.
352 (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
353 memory.
354 (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
355 doing vector extract from memory.
356 (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
357 extract from memory.
358
359 * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support
360 for the offset being 34-bits when -mcpu=future is used.
361
362 2020-01-06 John David Anglin <danglin@gcc.gnu.org>
363
364 * config/pa/pa.md: Revert change to use ordered_comparison_operator
365 instead of cmpib_comparison_operator in cmpib patterns.
366 * config/pa/predicates.md (cmpib_comparison_operator): Revert removal
367 of cmpib_comparison_operator. Revise comment.
368
369 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
370
371 * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
372 in an IFN_DIV_POW2 node to be equal.
373
374 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
375
376 * tree-vect-stmts.c (vect_check_load_store_mask): Rename to...
377 (vect_check_scalar_mask): ...this.
378 (vectorizable_store, vectorizable_load): Update call accordingly.
379 (vectorizable_call): Use vect_check_scalar_mask to check the mask
380 argument in calls to conditional internal functions.
381
382 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
383
384 * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
385 '0' matching inputs.
386 (subv64di3_exec): Likewise.
387
388 2020-01-06 Bryan Stenson <bryan@siliconvortex.com>
389
390 * config/mips/mips.c (vr4130_align_insns): Fix typo.
391 * doc/md.texi (movstr): Likewise.
392
393 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
394
395 * config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
396 clobber.
397
398 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
399
400 * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
401 Depend on...
402 (s-aarch64-tune-md): ...this new stamp file. Pipe the new contents
403 to a temporary file and use move-if-change to update the real
404 file where necessary.
405
406 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
407
408 * config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
409 rather than Upa for CPY /M.
410
411 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
412
413 * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
414 immediate.
415
416 2020-01-06 Martin Liska <mliska@suse.cz>
417
418 PR tree-optimization/92860
419 * params.opt: Mark param_max_combine_insns with Optimization
420 keyword.
421
422 2020-01-05 Jakub Jelinek <jakub@redhat.com>
423
424 PR target/93141
425 * config/i386/i386.md (SWIDWI): New mode iterator.
426 (DWI, dwi): Add TImode variants.
427 (addv<mode>4): Use SWIDWI iterator instead of SWI. Use
428 <general_hilo_operand> instead of <general_operand>. Use
429 CONST_SCALAR_INT_P instead of CONST_INT_P.
430 (*addv<mode>4_1): Rename to ...
431 (addv<mode>4_1): ... this.
432 (QWI): New mode attribute.
433 (*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
434 define_insn_and_split patterns.
435 (*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
436 patterns.
437 (uaddv<mode>4): Use SWIDWI iterator instead of SWI. Use
438 <general_hilo_operand> instead of <general_operand>.
439 (*addcarry<mode>_1): New define_insn.
440 (*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.
441
442 2020-01-03 Konstantin Kharlamov <Hi-Angel@yandex.ru>
443
444 * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
445 Use "call" instead of "set".
446
447 2020-01-03 Martin Jambor <mjambor@suse.cz>
448
449 PR ipa/92917
450 * ipa-cp.c (print_all_lattices): Skip functions without info.
451
452 2020-01-03 Jakub Jelinek <jakub@redhat.com>
453
454 PR target/93089
455 * config/i386/i386-options.c (ix86_simd_clone_adjust): If
456 TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
457 simd clones. If TARGET_PREFER_AVX256, use prefer-vector-width=512
458 for 'e' simd clones.
459
460 PR target/93089
461 * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
462 entry.
463 (mprefer-vector-width=): Add Save.
464 * config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
465 -mprefer-vector-width= if non-zero. Fix up -mfpmath= comment.
466 (ix86_debug_options, ix86_function_specific_print): Adjust
467 ix86_target_string callers.
468 (ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
469 (ix86_valid_target_attribute_tree): Likewise.
470 * config/i386/i386-options.h (ix86_target_string): Add PVW argument.
471 * config/i386/i386-expand.c (ix86_expand_builtin): Adjust
472 ix86_target_string caller.
473
474 PR target/93110
475 * config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
476 emitting ASHIFTRT, XOR and MINUS by hand. Use gen_int_mode with QImode
477 instead of gen_int_shift_amount + convert_modes.
478
479 PR rtl-optimization/93088
480 * loop-iv.c (find_single_def_src): Punt after looking through
481 128 reg copies for regs with single definitions. Move definitions
482 to first uses.
483
484 2020-01-02 Dennis Zhang <dennis.zhang@arm.com>
485
486 * config/arm/arm-c.c (arm_cpu_builtins): Define
487 __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
488 __ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
489 __ARM_BF16_FORMAT_ALTERNATIVE when enabled.
490 * config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
491 * config/arm/arm-tables.opt: Regenerated.
492 * config/arm/arm.c (arm_option_reconfigure_globals): Initialize
493 arm_arch_i8mm and arm_arch_bf16 when enabled.
494 * config/arm/arm.h (TARGET_I8MM): New macro.
495 (TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
496 * config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
497 * config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
498 * config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
499 (v8_6_a_simd_variants): New.
500 (v8_*_a_simd_variants): Add i8mm and bf16.
501 * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.
502
503 2020-01-02 Jakub Jelinek <jakub@redhat.com>
504
505 PR ipa/93087
506 * predict.c (compute_function_frequency): Don't call
507 warn_function_cold on functions that already have cold attribute.
508
509 2020-01-01 John David Anglin <danglin@gcc.gnu.org>
510
511 PR target/67834
512 * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to
513 COMDAT group function labels in .data.rel.ro.local section.
514 * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.
515
516 PR target/93111
517 * config/pa/pa.md (scc): Use ordered_comparison_operator instead of
518 comparison_operator in B and S integer comparisons. Likewise, use
519 ordered_comparison_operator instead of cmpib_comparison_operator in
520 cmpib patterns.
521 * config/pa/predicates.md (cmpib_comparison_operator): Remove.
522
523 2020-01-01 Jakub Jelinek <jakub@redhat.com>
524
525 Update copyright years.
526
527 * gcc.c (process_command): Update copyright notice dates.
528 * gcov-dump.c (print_version): Ditto.
529 * gcov.c (print_version): Ditto.
530 * gcov-tool.c (print_version): Ditto.
531 * gengtype.c (create_file): Ditto.
532 * doc/cpp.texi: Bump @copying's copyright year.
533 * doc/cppinternals.texi: Ditto.
534 * doc/gcc.texi: Ditto.
535 * doc/gccint.texi: Ditto.
536 * doc/gcov.texi: Ditto.
537 * doc/install.texi: Ditto.
538 * doc/invoke.texi: Ditto.
539
540 2020-01-01 Jan Hubicka <hubicka@ucw.cz>
541
542 * ipa.c (walk_polymorphic_call_targets): Fix updating of overall
543 summary.
544
545 2020-01-01 Jakub Jelinek <jakub@redhat.com>
546
547 PR tree-optimization/93098
548 * match.pd (popcount): For shift amounts, use integer_onep
549 or wi::to_widest () == cst instead of tree_to_uhwi () == cst
550 tests. Make sure that precision is power of two larger than or equal
551 to 16. Ensure shift is never negative. Use HOST_WIDE_INT_UC macro
552 instead of ULL suffixed constants. Formatting fixes.
553 \f
554 Copyright (C) 2020 Free Software Foundation, Inc.
555
556 Copying and distribution of this file, with or without modification,
557 are permitted in any medium without royalty provided the copyright
558 notice and this notice are preserved.