From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19284 invoked by alias); 18 Jul 2010 18:02:41 -0000 Received: (qmail 19000 invoked by uid 22791); 18 Jul 2010 18:02:40 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM X-Spam-Check-By: sourceware.org Received: from mail-wy0-f175.google.com (HELO mail-wy0-f175.google.com) (74.125.82.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 18 Jul 2010 18:02:34 +0000 Received: by wye20 with SMTP id 20so4456437wye.20 for ; Sun, 18 Jul 2010 11:02:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.227.40.220 with SMTP id l28mr3107336wbe.84.1279476152226; Sun, 18 Jul 2010 11:02:32 -0700 (PDT) Received: by 10.216.170.148 with HTTP; Sun, 18 Jul 2010 11:02:32 -0700 (PDT) In-Reply-To: <1279304978.3166.1105.camel@otta> References: <1279304978.3166.1105.camel@otta> Date: Sun, 18 Jul 2010 18:02:00 -0000 Message-ID: Subject: Re: [PATCH] Fix testsuite test cases slp-perm-[1234].c From: Richard Guenther To: Peter Bergner Cc: gcc-patches Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg01444.txt.bz2 On Fri, Jul 16, 2010 at 8:29 PM, Peter Bergner wrote: > Sometime recently (r161984?) the compiler is now vectorizing the > initialization loops for slp-perm.[123].c on powerpc64-linux. =A0I copied > the method of really disabling vectorization in the initialization loops > used in PR testsuite/44538 by adding a asm ("") into the loops we don't > want vectorized. =A0For safety, I did the same for the check_results loop= s. > Looking closer, I also noticed the loop limits for the check_results > loop were bogus for slp-perm-[34].c, so I fixed those too. > > Ok for mainline? Ok. Thanks, Richard. > Peter > > > =A0 =A0 =A0 =A0* gcc.dg/vect/slp-perm-1.c (main): Make sure loops aren't = vectorized. > =A0 =A0 =A0 =A0* gcc.dg/vect/slp-perm-2.c (main): Likewise. > =A0 =A0 =A0 =A0* gcc.dg/vect/slp-perm-3.c (main): Likewise. =A0Fix loop l= imit. > =A0 =A0 =A0 =A0* gcc.dg/vect/slp-perm-4.c (main): Fix loop limit. > > Index: gcc.dg/vect/slp-perm-1.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc.dg/vect/slp-perm-1.c =A0 =A0(revision 162190) > +++ gcc.dg/vect/slp-perm-1.c =A0 =A0(working copy) > @@ -42,16 +42,18 @@ int main (int argc, const char* argv[]) > =A0 for (i =3D 0; i < N; i++) > =A0 =A0 { > =A0 =A0 =A0 input[i] =3D i%256; > - =A0 =A0 =A0if (input[i] > 200) > - =A0 =A0 =A0 =A0abort(); > =A0 =A0 =A0 output[i] =3D 0; > + =A0 =A0 =A0__asm__ volatile (""); > =A0 =A0 } > > =A0 foo (input, output); > > =A0 for (i =3D 0; i < N; i++) > - =A0 =A0 if (output[i] !=3D check_results[i]) > - =A0 =A0 =A0 abort (); > + =A0 =A0{ > + =A0 =A0 =A0if (output[i] !=3D check_results[i]) > + =A0 =A0 =A0 abort (); > + =A0 =A0 =A0__asm__ volatile (""); > + =A0 =A0} > > =A0 return 0; > =A0} > Index: gcc.dg/vect/slp-perm-2.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc.dg/vect/slp-perm-2.c =A0 =A0(revision 162190) > +++ gcc.dg/vect/slp-perm-2.c =A0 =A0(working copy) > @@ -37,16 +37,18 @@ int main (int argc, const char* argv[]) > =A0 for (i =3D 0; i < N; i++) > =A0 =A0 { > =A0 =A0 =A0 input[i] =3D i%256; > - =A0 =A0 =A0if (input[i] > 200) > - =A0 =A0 =A0 =A0abort(); > =A0 =A0 =A0 output[i] =3D 0; > + =A0 =A0 =A0__asm__ volatile (""); > =A0 =A0 } > > =A0 foo (input, output); > > =A0 for (i =3D 0; i < N; i++) > - =A0 =A0if (output[i] !=3D check_results[i]) > - =A0 =A0 =A0abort (); > + =A0 =A0{ > + =A0 =A0 =A0if (output[i] !=3D check_results[i]) > + =A0 =A0 =A0 abort (); > + =A0 =A0 =A0__asm__ volatile (""); > + =A0 =A0} > > =A0 return 0; > =A0} > Index: gcc.dg/vect/slp-perm-3.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc.dg/vect/slp-perm-3.c =A0 =A0(revision 162190) > +++ gcc.dg/vect/slp-perm-3.c =A0 =A0(working copy) > @@ -51,16 +51,18 @@ int main (int argc, const char* argv[]) > =A0 for (i =3D 0; i < N; i++) > =A0 =A0 { > =A0 =A0 =A0 input[i] =3D i%256; > - =A0 =A0 =A0if (input[i] > 200) > - =A0 =A0 =A0 =A0abort(); > =A0 =A0 =A0 output[i] =3D 0; > + =A0 =A0 =A0__asm__ volatile (""); > =A0 =A0 } > > =A0 foo (input, output); > > - =A0for (i =3D 0; i < N - N; i++) > - =A0 =A0if (output[i] !=3D check_results[i]) > - =A0 =A0 =A0abort (); > + =A0for (i =3D 0; i < N; i++) > + =A0 =A0{ > + =A0 =A0 =A0if (output[i] !=3D check_results[i]) > + =A0 =A0 =A0 abort (); > + =A0 =A0 =A0__asm__ volatile (""); > + =A0 =A0} > > =A0 return 0; > =A0} > Index: gcc.dg/vect/slp-perm-4.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc.dg/vect/slp-perm-4.c =A0 =A0(revision 162190) > +++ gcc.dg/vect/slp-perm-4.c =A0 =A0(working copy) > @@ -74,7 +74,7 @@ int main (int argc, const char* argv[]) > > =A0 foo (input, output); > > - =A0for (i =3D 0; i < N - N; i++) > + =A0for (i =3D 0; i < N; i++) > =A0 =A0 if (output[i] !=3D check_results[i]) > =A0 =A0 =A0 abort (); > > > >