This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/83831] [RX] Unused bclr,bnot,bset insns


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]