]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
index 9324ebab02cc2532598b331eccb55161a2eeddb5..f6867b771282c10f8f2863e96058aba6fc4b028a 100644 (file)
@@ -1,3 +1,60 @@
+2023-06-11  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md (adjust_len) [insv_notbit_0, insv_notbit_7]:
+       Remove attribute values.
+       (insv_notbit): New post-reload insn.
+       (*insv.not-shiftrt_split, *insv.xor1-bit.0_split)
+       (*insv.not-bit.0_split, *insv.not-bit.7_split)
+       (*insv.xor-extract_split): Split to insv_notbit.
+       (*insv.not-shiftrt, *insv.xor1-bit.0, *insv.not-bit.0, *insv.not-bit.7)
+       (*insv.xor-extract): Remove post-reload insns.
+       * config/avr/avr.cc (avr_out_insert_notbit) [bitno]: Remove parameter.
+       (avr_adjust_insn_length): Adjust call of avr_out_insert_notbit.
+       [ADJUST_LEN_INSV_NOTBIT_0, ADJUST_LEN_INSV_NOTBIT_7]: Remove cases.
+       * config/avr/avr-protos.h (avr_out_insert_notbit): Adjust prototype.
+
+2023-06-11  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/109907
+       * config/avr/avr.md (adjust_len) [extr, extr_not]: New elements.
+       (MSB, SIZE): New mode attributes.
+       (any_shift): New code iterator.
+       (*lshr<mode>3_split, *lshr<mode>3, lshr<mode>3)
+       (*lshr<mode>3_const_split): Add constraint alternative for
+       the case of shift-offset = MSB.  Ditch "length" attribute.
+       (extzv<mode): New. replaces extzv.  Adjust following patterns.
+       Use avr_out_extr, avr_out_extr_not to print asm.
+       (*extzv.subreg.<mode>, *extzv.<mode>.subreg, *extzv.xor)
+       (*extzv<mode>.ge, *neg.ashiftrt<mode>.msb, *extzv.io.lsr7): New.
+       * config/avr/constraints.md (C15, C23, C31, Yil): New
+       * config/avr/predicates.md (reg_or_low_io_operand)
+       (const7_operand, reg_or_low_io_operand)
+       (const15_operand, const_0_to_15_operand)
+       (const23_operand, const_0_to_23_operand)
+       (const31_operand, const_0_to_31_operand): New.
+       * config/avr/avr-protos.h (avr_out_extr, avr_out_extr_not): New.
+       * config/avr/avr.cc (avr_out_extr, avr_out_extr_not): New funcs.
+       (lshrqi3_out, lshrhi3_out, lshrpsi3_out, lshrsi3_out): Adjust
+       MSB case to new insn constraint "r" for operands[1].
+       (avr_adjust_insn_length) [ADJUST_LEN_EXTR_NOT, ADJUST_LEN_EXTR]:
+       Handle these cases.
+       (avr_rtx_costs_1): Adjust cost for a new pattern.
+
+2023-06-11  Juzhe-Zhong  <juzhe.zhong@rivai.ai>
+
+       * config/riscv/riscv-vsetvl.cc (available_occurrence_p): Enhance user vsetvl optimization.
+       (vector_insn_info::parse_insn): Add rtx_insn parse.
+       (pass_vsetvl::local_eliminate_vsetvl_insn): Enhance user vsetvl optimization.
+       (get_first_vsetvl): New function.
+       (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto.
+       (pass_vsetvl::cleanup_insns): Remove it.
+       (pass_vsetvl::ssa_post_optimization): New function.
+       (has_no_uses): Ditto.
+       (pass_vsetvl::propagate_avl): Remove it.
+       (pass_vsetvl::df_post_optimization): New function.
+       (pass_vsetvl::lazy_vsetvl): Rework Phase 5 && Phase 6.
+       * config/riscv/riscv-vsetvl.h: Adapt declaration.
+
 2023-06-10  Aldy Hernandez  <aldyh@redhat.com>
 
        * ipa-cp.cc (ipcp_vr_lattice::init): Take type argument.