--- Additional Comments From pthaugen at us dot ibm dot com 2005-06-02
18:46 ---
Does this need to be reopened? I see the following for mainline.
-m32:
.L4:
slwi %r9,%r11,1 #, tmp130, i
addi %r11,%r11,1 # i, i,
sthx %r0,%r9,%r10#* q.1, tmp132
--
What|Removed |Added
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18431
--- Additional Comments From rakdver at gcc dot gnu dot org 2004-11-15
00:20 ---
Fixed.
--
What|Removed |Added
Status|ASSIGNED|RESOLVED
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-11-15
00:18 ---
Subject: Bug 18431
CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED] 2004-11-15 00:18:37
Modified files:
gcc: ChangeLog fold-const.c tree-ssa-loop-
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-11-14
18:04 ---
Subject: Bug 18431
CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED] 2004-11-14 18:04:26
Modified files:
gcc: ChangeLog tree-flow.h tree-ssa-loop-i
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12
15:33 ---
The local patch which I had in which caused this was a not so correct for PR
18293 (which we remove
an extra copy RTL as we expand it so it looks like the cost analysis is doing
something wrong which is
--- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni
dot cz 2004-11-12 15:10 ---
Subject: Re: Code for arrays and pointers are not the same
> powerpc-darwin
>
> just -O3
>
> hmm, must be a local modification which changes it.
maybe you are checking 64 bit? That
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12
14:53 ---
(In reply to comment #8)
>
> is_gimple_addressable -> is_gimple_id -> is_gimple_variable -> SSA_NAME.
>
> So the correct patch would be
I did post that patch also before it was rejected as I did not look
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12
14:52 ---
powerpc-darwin
just -O3
hmm, must be a local modification which changes it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18431
--- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni
dot cz 2004-11-12 14:48 ---
Subject: Re: Code for arrays and pointers are not the same
> huh a compiler built with that patch gives:
> L4:
> slwi r2,r9,1
> addi r9,r9,1
> sthx r0,r2,r11
>
--- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni
dot cz 2004-11-12 14:46 ---
Subject: Re: Code for arrays and pointers are not the same
> > Patch here which should fix not pulling the load of q out of the loop:
> > http://gcc.gnu.org/ml/gcc-patches/2004-11/msg0
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12
14:44 ---
huh a compiler built with that patch gives:
L4:
slwi r2,r9,1
addi r9,r9,1
sthx r0,r2,r11
bdnz L4
Also pulling the load manually out loop also produce the same asm as I just
--- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni
dot cz 2004-11-12 14:42 ---
Subject: Re: Code for arrays and pointers are not the same
> Patch here which should fix not pulling the load of q out of the loop:
> http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00957
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12
14:38 ---
Patch here which should fix not pulling the load of q out of the loop:
http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00957.html
Then the only thing left is for IV-OPTS to be fixed.
--
http://gcc.gnu.org/
--- Additional Comments From rakdver at gcc dot gnu dot org 2004-11-12
11:24 ---
The problem seems to be that licm does not move load of q from the loop. Ivopts
then do not recognize q + 2*i as induction variable, and thus they are
optimizing it not like an address of memory reference,
--
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |rakdver at gcc dot gnu dot
|dot org |org
Status|NEW
--- Additional Comments From nathan at gcc dot gnu dot org 2004-11-12
09:32 ---
It is not what I thought it was. The array case is optimized at the tree level,
the pointer case is optimized at the rtl level.
--
What|Removed |Added
---
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-11
20:39 ---
Rewritting the code this way, shows how we ahould be optimizing the code:
void h()
{
int i;
unsigned short *q1 = q;
for (i=0;ihttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=18431
--
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |nathan at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-11
18:15 ---
Note with powerpc64 we get much worse than array case which stays the same:
L4:
sldi r2,r9,1
addi r0,r9,1
sthx r10,r2,r11
extsw r9,r0
bdnz L4
--
http://gcc.gnu.org
--
What|Removed |Added
CC||rakdver at gcc dot gnu dot
||org
http://gcc.gnu.org/bugzilla/sh
--
What|Removed |Added
GCC target triplet||powerpc-darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18431
22 matches
Mail list logo