* simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
commit199c981a9524ea890ecd043243571f67ad856501
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Feb 2007 17:10:56 +0000 (8 17:10 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Feb 2007 17:10:56 +0000 (8 17:10 +0000)
tree048a2641bea241f51fef4600e4852357f5c9e51e
parentce4a3cadf918fcff308983780f7585cc1a156a81
* simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
strip zero_extend, bswap and rotates from POCOUNT's argument.
<PARITY>: Likewise, we can strip not, bswap, sign_extend,
zero_extend and rotates from PARITY's argument.
<BSWAP>: A byte-swap followed by a byte-swap is an identity.
(simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap
of an integer constant at compile-time.

* gcc.target/i386/builtin-bswap-2.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121716 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/builtin-bswap-2.c [new file with mode: 0644]