diff options
| author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-09 21:39:14 +0000 |
|---|---|---|
| committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-09 21:39:14 +0000 |
| commit | 502bc7345fbb89243bfc1466ebad649c1d4ff986 (patch) | |
| tree | 48b3dead6c152c128f09b4ca6fa75231cacb39d9 /libjava/java | |
| parent | 96b9f485851ec6d596049ccad9e787bb9389a06c (diff) | |
| download | ppe42-gcc-502bc7345fbb89243bfc1466ebad649c1d4ff986.tar.gz ppe42-gcc-502bc7345fbb89243bfc1466ebad649c1d4ff986.zip | |
* simplify-rtx.c (mode_signbit_p): New function to check whether
an RTX is an immediate constant that represents the most significant
bit of a given machine mode.
(simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
C is the sign bit.
(simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
when C2 is the sign bit.
(simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
sign bit.
* gcc.c-torture/execute/20040409-1.c: New test case.
* gcc.c-torture/execute/20040409-2.c: New test case.
* gcc.c-torture/execute/20040409-3.c: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80568 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
0 files changed, 0 insertions, 0 deletions

