re PR target/46091 (missed optimization: x86 bt/btc/bts instructions)
authorUros Bizjak <ubizjak@gmail.com>
Wed, 16 Aug 2017 15:25:34 +0000 (17:25 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 16 Aug 2017 15:25:34 +0000 (17:25 +0200)
commitadb5b54b28383885b4a34b95698cc302af8e0415
treee2cb0848b3fc9721bc5224842d52079c1e140819
parent90d43c80aabfbea574ee0435b746f423a62bf3a6
re PR target/46091 (missed optimization: x86 bt/btc/bts instructions)

PR target/46091
* config/i386/i386.md (*anddi_1_btr): Change predicates of
operand 0 and operand 1 to nomimmediate_operand. Add "m" constraint.
Add ix86_binary_operator_ok to insn constraint.
(*iordi_1_bts): Ditto.
(*xordi_1_btc): Ditto.
(*btsq): Change predicate of operand 0 to nonimmediate_operand.
Update corresponding peephole2 pattern.
(*btrq): Ditto.
(*btcq): Ditto.

testsuite/ChangeLog:

PR target/46091
* gcc.target/i386/pr46091-1.c: Update scan-assembler-times.
(testm): New test function.
* gcc.target/i386/pr46091-2.c: Ditto.
* gcc.target/i386/pr46091-3.c: Ditto.

From-SVN: r251124
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr46091-1.c
gcc/testsuite/gcc.target/i386/pr46091-2.c
gcc/testsuite/gcc.target/i386/pr46091-3.c