This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/83831] [RX] Unused bclr,bnot,bset insns
- From: "olegendo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 14 Feb 2018 12:34:08 +0000
- Subject: [Bug target/83831] [RX] Unused bclr,bnot,bset insns
- Auto-submitted: auto-generated
- References: <bug-83831-4@http.gcc.gnu.org/bugzilla/>
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