https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83831
--- Comment #4 from Oleg Endo <olegendo at gcc dot gnu.org> --- Author: olegendo Date: Wed Feb 14 12:33:37 2018 New Revision: 257655 URL: https://gcc.gnu.org/viewcvs?rev=257655&root=gcc&view=rev Log: gcc/ PR target/83831 * config/rx/rx-protos.h (rx_reg_dead_or_unused_after_insn, rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New declarations. (set_of_reg): New struct. (rx_find_set_of_reg, rx_find_use_of_reg): New functions. * config/rx/rx.c (rx_reg_dead_or_unused_after_insn, rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New functions. * config/rx/rx.md (andsi3, iorsi3, xorsi3): Convert to insn_and_split. Split into bitclr, bitset, bitinvert patterns if appropriate. (*bitset, *bitinvert, *bitclr): Convert to named insn_and_split and use rx_fuse_in_memory_bitop. (*bitset_in_memory, *bitinvert_in_memory, *bitclr_in_memory): Convert to named insn, correct maximum insn length. gcc/testsuite/ PR target/83831 * gcc.target/rx/pr83831.c: New tests. Added: trunk/gcc/testsuite/gcc.target/rx/pr83831.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rx/rx-protos.h trunk/gcc/config/rx/rx.c trunk/gcc/config/rx/rx.md trunk/gcc/testsuite/ChangeLog