--- Comment #5 from ramana at gcc dot gnu dot org 2009-05-13 14:33 ---
(In reply to comment #4)
(In reply to comment #3)
(In reply to comment #2)
Also IV-opts is messing up anyways, it should have done out+1 as the base
instead of out, blah.
Filed as
--- Comment #4 from rakdver at gcc dot gnu dot org 2008-07-25 07:56 ---
(In reply to comment #3)
(In reply to comment #2)
Also IV-opts is messing up anyways, it should have done out+1 as the base
instead of out, blah.
Filed as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36905 .
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-07-23 01:55 ---
Hmm, I think the sign/zero extension is needed.
Even doing:
void fred(unsigned short in, unsigned short *out1)
{
int i;
for (i=0;i100;i++)
out1[i+1] = out1[i]*in;
}
--- CUT ---
We will get a zero
--- Comment #2 from pinskia at gcc dot gnu dot org 2008-07-23 02:01 ---
for the loop on the trunk.
I think the trunk improved fold somewhere along the way, because the 4.3 I have
from January has the extra sign extension.
We will get a zero extension in the assembly (on
--- Comment #3 from pinskia at gcc dot gnu dot org 2008-07-23 02:10 ---
(In reply to comment #2)
Also IV-opts is messing up anyways, it should have done out+1 as the base
instead of out, blah.
Filed as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36905 .
--