[Bug middle-end/30904] [dataflow] No longer optimizes shifts with large count

2007-02-21 Thread belyshev at depni dot sinp dot msu dot ru
--- Comment #1 from belyshev at depni dot sinp dot msu dot ru 2007-02-21 13:30 --- Confirmed, same problem on alphaev56-unknown-linux-gnu. -- belyshev at depni dot sinp dot msu dot ru changed: What|Removed |Added

[Bug middle-end/30904] [dataflow] No longer optimizes shifts with large count

2007-02-21 Thread steven at gcc dot gnu dot org
--- Comment #2 from steven at gcc dot gnu dot org 2007-02-21 15:58 --- Problem here is combine. -- steven at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/30904] [dataflow] No longer optimizes shifts with large count

2007-02-21 Thread bonzini at gnu dot org
--- Comment #3 from bonzini at gnu dot org 2007-02-21 16:03 --- This unrelated patch fixes a very similar case for powerpc unpatched: or r0,r3,r28 rlwinm r0,r0,0,0xff cmpwi cr7,r0,0 beq- cr7,L4929 patched: (r3 and r28 are both extended from QImode)

[Bug middle-end/30904] [dataflow] No longer optimizes shifts with large count

2007-02-21 Thread bonzini at gnu dot org
--- Comment #4 from bonzini at gnu dot org 2007-02-21 16:05 --- It doesn't, but I confirm that the bug is target independent. A way to fix it would be to do the transform in VRP, but I'll look at combine if time permits. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30904

[Bug middle-end/30904] [dataflow] No longer optimizes shifts with large count

2007-02-21 Thread bonzini at gnu dot org
--- Comment #5 from bonzini at gnu dot org 2007-02-21 16:11 --- The first one is in the same EBB as the assignment. The second one isn't and combine screws up. This is because of the way combine treats regs with one def that dominates all uses, I talked to zadeck yesterday about that

[Bug middle-end/30904] [dataflow] No longer optimizes shifts with large count

2007-02-21 Thread bonzini at gnu dot org
--- Comment #6 from bonzini at gnu dot org 2007-02-21 16:23 --- Created an attachment (id=13083) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13083action=view) patch to fix the bug The logic in trunk's combine with respect to uninitialized variables is correct. We have to look