Some patterns for moving one bit around by BST + BLD.
authorGeorg-Johann Lay <avr@gjlay.de>
Thu, 21 Jul 2016 11:00:56 +0000 (11:00 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Thu, 21 Jul 2016 11:00:56 +0000 (11:00 +0000)
commitfa62698775849bb6d22537178f0013694eea2c42
treea2703966854cb649d7a99bc67609e68e204263fd
parentb24d94207914fb8695bd7307187a5a0bfcddc8c2
Some patterns for moving one bit around by BST + BLD.

* config/avr/avr.md (any_extract, any_shiftrt): New code iterators.
(*insv.extract, *insv.shiftrt, *insv.not-bit.0, *insv.not-bit.7)
(*insv.xor-extract, *insv.xor1-bit.0): New insns.
(adjust_len) [insv_notbit, insv_notbit_0, insv_notbit_7]: New
values for insn attribute.
* config/avr/avr.c (avr_out_insert_notbit): New function.
(avr_adjust_insn_length): Handle ADJUST_LEN_INSV_NOTBIT,
ADJUST_LEN_INSV_NOTBIT_0/_7.
* config/avr/avr-protos.h (avr_out_insert_notbit): New proto.

From-SVN: r238587
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.md