--- Comment #11 from pinskia at gcc dot gnu dot org 2006-11-10 17:28
---
This is a regression because I know that code is new, Roger added it
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #10 from matz at gcc dot gnu dot org 2006-11-10 16:48 ---
Yes, I think all uses in combine.c are okay. In addition also the occurrence
in rtlanal.c is okay, as it doesn't use the bitpos, but the width in bits
to generate the mask, I just misread that part. I now looked at a
--- Comment #9 from schwab at suse dot de 2006-11-10 16:27 ---
(In reply to comment #7)
> combine.c:find_split_point: When the destination is a zero_extract, it does
> adjust the bitpos when BITS_BIG_ENDIAN, but it doesn't look at
> BYTES_BIT_ENDIAN at all.
I think this is ok, because w
--- Comment #8 from matz at gcc dot gnu dot org 2006-11-10 15:51 ---
At least this patch fixes the bug at hand, but I'm sceptical if by chance or
for real:
Index: ifcvt.c
===
--- ifcvt.c (revision 118648)
+++ ifcvt.c
--- Comment #7 from matz at gcc dot gnu dot org 2006-11-10 15:47 ---
Just from looking at various places which handle ZERO_EXTRACT this seems to
by used highly inconsistent. E.g.:
rtlanal:nonzero_bits1: Doesn't look at BITS_BIG_ENDIAN or BYTES_BIG_ENDIAN at
all, but does use the bitpos
--- Comment #6 from rguenth at gcc dot gnu dot org 2006-11-10 15:45 ---
Note that we still cannot do this transformation on the tree-level. There were
some patches for that though:
http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00390.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?i
--- Comment #5 from ebotcazou at gcc dot gnu dot org 2006-11-10 15:01
---
In case someone is still doubtful. :-)
--
ebotcazou at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #4 from rguenth at gcc dot gnu dot org 2006-11-10 14:35 ---
/* Optimize away "if (x & C) x |= C" and similar bit manipulation
transformations. */
static int
noce_try_bitop (struct noce_if_info *if_info)
{
...
/* ??? We could also handle AND here. */
if (GET_CODE (co
--- Comment #3 from rguenth at gcc dot gnu dot org 2006-11-10 13:28 ---
combine combines
(insn 10 8 11 2 (parallel [
(set (reg:SI 121)
(and:SI (reg/v:SI 119 [ nStyle ])
(const_int 32768 [0x8000])))
(clobber (scratch:CC))