Re: m32c, ivopts, 20000412-6.c

2009-01-07 Thread DJ Delorie
> I guess tmp is not short unsigned int * but some other pointer type, > right? But bufend is short unsigned int *? Both are "short unsigned int *" - pointers to shorts. > Can you open a bugzilla for this? It should be not too difficult to track > down the piece of IVOPTs that creates that con

Re: m32c, ivopts, 20000412-6.c

2009-01-07 Thread Richard Guenther
On Wed, Jan 7, 2009 at 5:09 PM, DJ Delorie wrote: > >> As I repeatedly said having sizetype of a different precision than >> pointer types will cause all sorts of problems ;) > > And as I've rebutted repeatedly, I can't change the chip. > >> The middle-end generally assumes it can cast between siz

Re: m32c, ivopts, 20000412-6.c

2009-01-07 Thread DJ Delorie
> As I repeatedly said having sizetype of a different precision than > pointer types will cause all sorts of problems ;) And as I've rebutted repeatedly, I can't change the chip. > The middle-end generally assumes it can cast between sizetype and > pointers arbitrarily. Bad assumption. It will

Re: m32c, ivopts, 20000412-6.c

2009-01-07 Thread Richard Guenther
On Wed, Jan 7, 2009 at 1:46 AM, DJ Delorie wrote: > > I'm looking a failure for m32c-elf (-mcpu=m32c) in > gcc.c-torture/execute/2412-6.c. > > I've narrowed it down to a transformation done in 107t.ivopts. > > In 104t.cunroll: (tmp_9 and tmp_16 are 24-bit pointer values): > > tmp_9 = tmp_16 +

m32c, ivopts, 20000412-6.c

2009-01-06 Thread DJ Delorie
I'm looking a failure for m32c-elf (-mcpu=m32c) in gcc.c-torture/execute/2412-6.c. I've narrowed it down to a transformation done in 107t.ivopts. In 104t.cunroll: (tmp_9 and tmp_16 are 24-bit pointer values): tmp_9 = tmp_16 + 2; if (bufend_6(D) > tmp_9) but in 107t.ivopts: tmp_9 = t