This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Strength reduction part 3 of 4: candidates with unknown strides
On Wed, 2012-08-08 at 19:22 -0700, Janis Johnson wrote:
> On 08/08/2012 06:41 PM, William J. Schmidt wrote:
> > On Wed, 2012-08-08 at 15:35 -0700, Janis Johnson wrote:
> >> On 08/08/2012 03:27 PM, Andrew Pinski wrote:
> >>> On Wed, Aug 8, 2012 at 3:25 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> >>>> On Wed, Aug 1, 2012 at 10:36 AM, William J. Schmidt
> >>>> <wschmidt@linux.vnet.ibm.com> wrote:
>
> >>>>> +/* { dg-do compile } */
> >>>>> +/* { dg-options "-O3 -fdump-tree-dom2 -fwrapv" } */
> >>>>> +/* { dg-skip-if "" { ilp32 } { "-m32" } { "" } } */
> >>>>> +
> >>>>
> >>>> This doesn't work on x32 nor Linux/ia32 since -m32
> >>>> may not be needed for ILP32. This patch works for
> >>>> me. OK to install?
> >>>
> >>> This also does not work for mips64 where the options are either
> >>> -mabi=32 or -mabi=n32 for ILP32.
> >>>
> >>> HJL's patch looks correct.
> >>>
> >>> Thanks,
> >>> Andrew
> >>
> >> There are GCC targets with 16-bit integers. What's the actual
> >> set of targets on which this test is meant to run? There's a list
> >> of effective-target names based on data type sizes in
> >> <http://gcc.gnu.org/onlinedocs/gccint/Effective_002dTarget-Keywords.html#Effective_002dTarget-Keywords>.
> >
> > Yes, sorry. The test really is only valid when int and long have
> > different sizes. So according to that link we should skip ilp32 and
> > llp64 at a minimum. It isn't clear what we should do for int16 since
> > the size of long isn't specified, so I suppose we should skip that as
> > well. So, perhaps modify HJ's patch to have
> >
> > /* { dg-do compile { target { ! { ilp32 llp64 int16 } } } } */
> >
> > ?
> >
> > Thanks,
> > Bill
>
> That's confusing. Perhaps what you really need is a new effective
> target for "sizeof(int) != sizeof(long)".
Good idea. I'll work up a patch when I get a moment.
Thanks,
Bill
>
> Janis
>