aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog327
1 files changed, 327 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 853d3b2..7a79a49 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,330 @@
+2020-12-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Reference macro arguments.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ PR target/95294
+ * config/vax/elf.h (REGISTER_NAMES): Append `%psl'.
+ * config/vax/vax-modes.def (CCN, CCNZ, CCZ): New modes.
+ * config/vax/vax-protos.h (vax_select_cc_mode): New prototype.
+ (vax_maybe_split_dimode_move): Likewise.
+ (vax_notice_update_cc): Remove prototype.
+ * config/vax/vax.c (TARGET_FLAGS_REGNUM): New macro.
+ (TARGET_CC_MODES_COMPATIBLE): Likewise.
+ (TARGET_MD_ASM_ADJUST): Likewise.
+ (vax_select_cc_mode): New function
+ (vax_cc_modes_compatible): Likewise.
+ (vax_md_asm_adjust): Likewise.
+ (vax_notice_update_cc): Remove function.
+ (vax_output_int_move): Factor out code checking if a DImode move
+ may have to be split...
+ (vax_maybe_split_dimode_move): ... into this new function.
+ * config/vax/vax.h (FIRST_PSEUDO_REGISTER): Bump up.
+ (FIXED_REGISTERS): Append an entry for PSL.
+ (CALL_USED_REGISTERS): Likewise.
+ (NOTICE_UPDATE_CC, OUTPUT_JUMP): Remove macros.
+ (SELECT_CC_MODE): New macro.
+ (REGISTER_NAMES): Append `psl'.
+ * config/vax/predicates.md (const_zero_operand)
+ (vax_cc_comparison_operator, vax_ccn_comparison_operator)
+ (vax_ccnz_comparison_operator, vax_ccz_comparison_operator):
+ New predicates.
+ * config/vax/builtins.md: Rewrite for MODE_CC representation.
+ * config/vax/vax.md: Likewise.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/elf.h (VAX_CC1_SPEC, VAX_CC1PLUS_SPEC): New macros.
+ * config/vax/netbsd-elf.h (CC1_SPEC): Use VAX_CC1_SPEC rather
+ than VAX_CC1_AND_CC1PLUS_SPEC.
+ (CC1PLUS_SPEC): Use VAX_CC1PLUS_SPEC rather than
+ VAX_CC1_AND_CC1PLUS_SPEC.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/pdp11/pdp11.md (fcc_cc, fcc_ccnz): Use
+ `const_double_zero' to express double zero constant.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * read-rtl.c (rtx_reader::read_rtx_code): Handle syntactic
+ `const_double_zero' rtx.
+ * doc/rtl.texi (Constant Expression Types): Document it.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (divmoddisi4, *amulsi4): Make the comment
+ notation consistent with the rest of the file.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (movti): Fix output predicate. Emit `movo'
+ rather than `movh'.
+ (divmoddisi4): Fix output predicates, correct RTL.
+ (*amulsi4): Name insn. Fix output predicate.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (mulsidi3): Fix the multiplicand predicates.
+ (*maddsidi4, *maddsidi4_const): Likewise. Name insns.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (*cmpv_2): Name insn.
+ (*cmpv, *cmpzv, *cmpzv_2): Likewise. Fix location predicate and
+ constraint.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (extv): Rename insn to...
+ (*extv): ... this.
+ (extv): New expander.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (*insv_aligned, *extzv_aligned)
+ (*extv_aligned): Also make sure the memory address of a bit-field
+ location can be adjusted in the PIC mode.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (*insv_aligned, *extzv_aligned)
+ (*extv_aligned): Reject register bit-field locations that are not
+ aligned to the least significant bit; update output statement
+ accordingly.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (*insv_aligned, *extzv_aligned)
+ (*extv_aligned, *extv_non_const, *extzv_non_const): Name insns.
+ Fix location predicate.
+ (*extzv): Name insn.
+ (*insv): Likewise. Fix location constraint.
+ (*insv_2): Likewise, and the predicate.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md (cpymemhi1): Rename insn to...
+ (movmemhi1): ... this.
+ (cpymemhi): Update accordingly. Remove constraints.
+ (movmemhi): New expander.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/builtins.md: Add a peephole2 for QImode and HImode
+ `ctz' operations.
+ (any_extend): New code iterator.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/builtins.md (width): New mode attribute.
+ (ffssi2): Rework expander into...
+ (ffs<mode>2): ... this.
+ (ctzsi2): Rework insn into...
+ (ctz<mode>2): ... this.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/builtins.md (ffssi2_internal): Rename insn to...
+ (ctzsi2): ... this. Update the RTL operation.
+ (ffssi2): Update accordingly.
+ * config/vax/vax.c (vax_notice_update_cc): Handle CTZ.
+ * config/vax/vax.h (CTZ_DEFINED_VALUE_AT_ZERO): New macro.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.md: Include `builtins.md'.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/predicates.md (volatile_mem_operand)
+ (any_memory_operand): New predicates.
+ * config/vax/builtins.md (VUNSPEC_UNLOCK): Remove constant.
+ (sync_lock_test_and_set<mode>): Remove `set' and `unspec'
+ operations, match operands only. Reformat.
+ (sync_lock_release<mode>): Likewise. Remove cruft.
+ (jbb<ccss>i<mode>): Wrap into `unspec_volatile', use
+ `any_memory_operand' predicate.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/builtins.md (bit): New int iterator.
+ (ccss): New int attribute.
+ (jbbssi<mode>, jbbcci<mode>): Fold insns into...
+ (jbb<ccss>i<mode>): ... this.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/builtins.md (bb_mem): New mode attribute.
+ (jbbssiqi, jbbssihi, jbbssisi): Fold insns into...
+ (jbbssi<mode>): ... this.
+ (jbbcciqi, jbbccihi, jbbccisi): Likewise...
+ (jbbcci<mode>): ... this.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * jump.c (pc_set): Also accept a jump wrapped in UNSPEC or
+ UNSPEC_VOLATILE.
+ (any_uncondjump_p, any_condjump_p): Update comment accordingly.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * loop-doloop.c (add_test): Only remove the jump if `onlyjump_p'.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * cfgrtl.c (rtl_block_empty_p): Return false if `!onlyjump_p'
+ too.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Only try to remove a
+ conditional jump if `onlyjump_p'.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * loop-iv.c (simplify_using_initial_values): Only process jumps
+ that match `onlyjump_p'.
+ (check_simple_exit): Likewise.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * ifcvt.c (dead_or_predicable) [!IFCVT_MODIFY_TESTS]: Bail out
+ if `!onlyjump_p'.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * read-rtl.c: Add a page-feed separator at the start of iterator
+ code.
+ (struct iterator_group): Change the return type to HOST_WIDE_INT
+ for the `find_builtin' member. Likewise the second parameter
+ type for the `apply_iterator' member.
+ (atoll) [!HAVE_ATOQ]: Reorder.
+ (find_mode, find_code): Change the return type to HOST_WIDE_INT.
+ (apply_mode_iterator, apply_code_iterator)
+ (apply_subst_iterator): Change the second parameter type to
+ HOST_WIDE_INT.
+ (find_int): Handle input suitable for HOST_WIDE_INT output.
+ (apply_int_iterator): Rewrite in terms of explicit format
+ interpretation.
+ (rtx_reader::read_rtx_operand) <'w'>: Fold into...
+ <'i', 'n', 'p'>: ... this.
+ * doc/md.texi (Int Iterators): Document 'w' rtx format support.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/builtins.md (ffssi2): Make preparation statements
+ actually buildable.
+ (ffssi2_internal): Fix input constraints; make the RTL pattern
+ match reality for `cc0'.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.c (vax_address_cost): Express the cost in terms
+ of COSTS_N_INSNS.
+ (vax_rtx_costs): Likewise.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/constraints.md (A): New constraint.
+ * config/vax/predicates.md (external_symbolic_operand)
+ (external_const_operand): Remove predicates.
+ (local_symbolic_operand): Rename to...
+ (pic_symbolic_operand): ... this, and rework.
+ (external_memory_operand): Rename to...
+ (non_pic_external_memory_operand): ... this, and rework.
+ (illegal_blk_memory_operand, illegal_addsub_di_memory_operand):
+ Update accordingly.
+ * config/vax/vax-protos.h (vax_acceptable_pic_operand_p): New
+ prototype.
+ * config/vax/vax.c (vax_acceptable_pic_operand_p): New function.
+ (vax_output_int_add): Update according to predicate rework.
+ * config/vax/vax.h (LEGITIMATE_PIC_OPERAND_P): New macro.
+ * config/vax/vax.md (pushlclsymreg, pushextsymreg): Fold
+ together, and rename to...
+ (*pushsymreg): ... this. Use the `pic_symbolic_operand'
+ predicate and the `A' constraint for the displacement operand.
+ (movlclsymreg, movextsymreg): Fold together, and rename to...
+ (*movsymreg): ... this. Use the `pic_symbolic_operand'
+ predicate and the `A' constraint for the displacement operand.
+ (pushextsym, pushlclsym): Fold together, and rename to...
+ (*pushsym): ... this. Use the `pic_symbolic_operand' predicate
+ and the `A' constraint for the displacement operand.
+ (movextsym, movlclsym): Fold together, and rename to...
+ (*movsym): ... this. Use the `pic_symbolic_operand' predicate
+ and the `A' constraint for the displacement operand.
+
+2020-12-05 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * config/vax/vax.c (print_operand): Replace `c' and `C' with
+ `k' and `K' respectively.
+ * config/vax/vax.md (*branch, *branch_reversed): Update
+ accordingly.
+
+2020-12-05 Matt Thomas <matt@3am-software.com>
+ Maciej W. Rozycki <macro@linux-mips.org>
+
+ PR target/58901
+ * reload.c (push_reload): Also reload the inner expression of a
+ SUBREG for pseudos associated with a mode-dependent memory
+ reference.
+ (find_reloads): Force a reload likewise.
+
+2020-12-05 Roman Zhuykov <zhroma@ispras.ru>
+
+ PR rtl-optimization/97421
+ * modulo-sched.c (generate_prolog_epilog): Remove forward
+ declaration, adjust last argument name and type.
+ (const_iteration_count): Add bool pointer parameter to return
+ whether count register is read in pre-header after its
+ initialization.
+ (sms_schedule): Fix count register initialization adjustment
+ procedure according to what const_iteration_count said.
+
+2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR target/97865
+ * configure: Regenerate.
+
+2020-12-05 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
+ Sharavan Kumar <Shravan.Kumar@amd.com>
+
+ * common/config/i386/cpuinfo.h (get_amd_cpu) recognize znver3.
+ * common/config/i386/i386-common.c (processor_names): Add
+ znver3.
+ (processor_alias_table): Add znver3 and AMDFAM19H entry.
+ * common/config/i386/i386-cpuinfo.h (processor_types): Add
+ AMDFAM19H.
+ (processor_subtypes): AMDFAM19H_ZNVER3.
+ * config.gcc (i[34567]86-*-linux* | ...): Likewise.
+ * config/i386/driver-i386.c: (host_detect_local_cpu): Let
+ -march=native recognize znver3 processors.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Add
+ znver3.
+ * config/i386/i386-options.c (m_znver3): New definition.
+ (m_ZNVER): Include m_znver3.
+ (processor_cost_table): Add znver3.
+ * config/i386/i386.c (ix86_reassociation_width): Likewise.
+ * config/i386/i386.h (TARGET_znver3): New definition.
+ (enum processor_type): Add PROCESSOR_ZNVER3.
+ * config/i386/i386.md (define_attr "cpu"): Add znver3.
+ * config/i386/x86-tune-sched.c: (ix86_issue_rate): Likewise.
+ (ix86_adjust_cost): Likewise.
+ * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS:
+ Likewise.
+ * config/i386/znver1.md: Add new reservations for znver3.
+ * doc/extend.texi: Add details about znver3.
+ * doc/invoke.texi: Likewise.
+
+2020-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/96226
+ * config/i386/i386.md (splitter after *<rotate_insn><mode>3_mask,
+ splitter after *<rotate_insn><mode>3_mask_1): Drop the masking from
+ the patterns to split into.
+
2020-12-04 Jason Merrill <jason@redhat.com>
* vec.h (begin, end): Add overloads for vec*.