]> git.ipfire.org Git - thirdparty/gcc.git/commit
AVR: Rework patterns that add / subtract an (inverted) MSB.
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 3 Dec 2024 20:49:32 +0000 (21:49 +0100)
committerGeorg-Johann Lay <avr@gjlay.de>
Thu, 5 Dec 2024 10:42:57 +0000 (11:42 +0100)
commit9ae9db54631f38d66666a2080a2a26c5c5d98fa9
tree54bac999d4e0108c7d5126ec21eb121c5caa240b
parent9755f5973473aa547063d1a97d47a409d237eb5b
AVR: Rework patterns that add / subtract an (inverted) MSB.

gcc/
* config/avr/avr-protos.h (avr_out_add_msb): New proto.
* config/avr/avr.cc (avr_out_add_msb): New function.
(avr_adjust_insn_length) [ADJUST_LEN_ADD_GE0,
ADJUST_LEN_ADD_LT0]: Handle cases.
* config/avr/avr.md (adjust_len) <add_lt0, add_ge0>: New attr values.
(QISI2): New mode iterator.
(C_MSB): New mode_attr.
(*add<mode>3...msb_split, *add<mode>3.ge0, *add<mode>3.lt0)
(*sub<mode>3...msb_split, *sub<mode>3.ge0, *sub<mode>3.lt0): New
patterns replacing old ones, but with iterators and
using avr_out_add_msb() for asm out.
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.cc
gcc/config/avr/avr.md