re PR target/70322 (STV doesn't optimize andn)
authorJakub Jelinek <jakub@redhat.com>
Fri, 2 Dec 2016 16:28:41 +0000 (17:28 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 2 Dec 2016 16:28:41 +0000 (17:28 +0100)
commit17c69eff82d20174099bad6bbd67dbf5e76c39a5
treeed759c595afb358f1773a94aa24f381bcbbf4098
parenteb61d07edaf05f36151bfe4382777eaa79bce4d9
re PR target/70322 (STV doesn't optimize andn)

PR target/70322
* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle
NOT.
(dimode_scalar_chain::compute_convert_gain): Likewise.
(dimode_scalar_chain::convert_insn): Likewise.
* config/i386/i386.md (*one_cmpldi2_doubleword): New
define_insn_and_split.
(one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.

* gcc.target/i386/pr70322-1.c: New test.
* gcc.target/i386/pr70322-2.c: New test.
* gcc.target/i386/pr70322-3.c: New test.

From-SVN: r243195
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr70322-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr70322-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr70322-3.c [new file with mode: 0644]