diff mbox

Test cases for PR77937

Message ID 1476388387.5711.8.camel@oc8801110288.ibm.com
State New
Headers show

Commit Message

Bill Schmidt Oct. 13, 2016, 7:53 p.m. UTC
Here are torture test cases for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77937.  Markus Trippelsdorf
kindly provided the source for the tests and verified the correct
dejagnu options on x86_64-pc-linux-gnu.  Committed.

Thanks,
Bill


2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/77937
	* gcc.dg/torture/pr77937-1.c: New.
	* gcc.dg/torture/pr77937-2.c: New.

Comments

Rainer Orth Oct. 13, 2016, 8:04 p.m. UTC | #1
Hi Bill,

> Here are torture test cases for
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77937.  Markus Trippelsdorf
> kindly provided the source for the tests and verified the correct
> dejagnu options on x86_64-pc-linux-gnu.  Committed.
>
> Thanks,
> Bill
>
>
> 2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
>
> 	PR tree-optimization/77937
> 	* gcc.dg/torture/pr77937-1.c: New.
> 	* gcc.dg/torture/pr77937-2.c: New.
>
>
> Index: gcc/testsuite/gcc.dg/torture/pr77937-1.c
> ===================================================================
> --- gcc/testsuite/gcc.dg/torture/pr77937-1.c	(revision 0)
> +++ gcc/testsuite/gcc.dg/torture/pr77937-1.c	(working copy)
> @@ -0,0 +1,14 @@
> +/* { dg-do compile } */
> +/* { dg-do options "-O3 -march=amdfam10" { target { x86_64-*-* } } } */

this can't be right: you always need target { i?86-*-* x86_64-*-* } and
if really need be restrict it to 64-bit only with lp64.  This makes sure
the test is run correctly for multilib x86 configurations
(e.g. i686-pc-linux-gnu with -m64).  Same in the other test.

	Rainer
Markus Trippelsdorf Oct. 14, 2016, 11:08 a.m. UTC | #2
On 2016.10.13 at 22:04 +0200, Rainer Orth wrote:
> Hi Bill,
> 
> > Here are torture test cases for
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77937.  Markus Trippelsdorf
> > kindly provided the source for the tests and verified the correct
> > dejagnu options on x86_64-pc-linux-gnu.  Committed.
> >
> > Thanks,
> > Bill
> >
> >
> > 2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
> >
> > 	PR tree-optimization/77937
> > 	* gcc.dg/torture/pr77937-1.c: New.
> > 	* gcc.dg/torture/pr77937-2.c: New.
> >
> >
> > Index: gcc/testsuite/gcc.dg/torture/pr77937-1.c
> > ===================================================================
> > --- gcc/testsuite/gcc.dg/torture/pr77937-1.c	(revision 0)
> > +++ gcc/testsuite/gcc.dg/torture/pr77937-1.c	(working copy)
> > @@ -0,0 +1,14 @@
> > +/* { dg-do compile } */
> > +/* { dg-do options "-O3 -march=amdfam10" { target { x86_64-*-* } } } */
> 
> this can't be right: you always need target { i?86-*-* x86_64-*-* } and
> if really need be restrict it to 64-bit only with lp64.  This makes sure
> the test is run correctly for multilib x86 configurations
> (e.g. i686-pc-linux-gnu with -m64).  Same in the other test.

This was in part because of my sloppy review. Sorry.
I've committed the fix as obvious.
Bill Schmidt Oct. 14, 2016, 2:01 p.m. UTC | #3
Markus, thanks for fixing this during my night.  Appreciate it!

Bill

> On Oct 14, 2016, at 6:08 AM, Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> 
> On 2016.10.13 at 22:04 +0200, Rainer Orth wrote:
>> Hi Bill,
>> 
>>> Here are torture test cases for
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77937.  Markus Trippelsdorf
>>> kindly provided the source for the tests and verified the correct
>>> dejagnu options on x86_64-pc-linux-gnu.  Committed.
>>> 
>>> Thanks,
>>> Bill
>>> 
>>> 
>>> 2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
>>> 
>>> 	PR tree-optimization/77937
>>> 	* gcc.dg/torture/pr77937-1.c: New.
>>> 	* gcc.dg/torture/pr77937-2.c: New.
>>> 
>>> 
>>> Index: gcc/testsuite/gcc.dg/torture/pr77937-1.c
>>> ===================================================================
>>> --- gcc/testsuite/gcc.dg/torture/pr77937-1.c	(revision 0)
>>> +++ gcc/testsuite/gcc.dg/torture/pr77937-1.c	(working copy)
>>> @@ -0,0 +1,14 @@
>>> +/* { dg-do compile } */
>>> +/* { dg-do options "-O3 -march=amdfam10" { target { x86_64-*-* } } } */
>> 
>> this can't be right: you always need target { i?86-*-* x86_64-*-* } and
>> if really need be restrict it to 64-bit only with lp64.  This makes sure
>> the test is run correctly for multilib x86 configurations
>> (e.g. i686-pc-linux-gnu with -m64).  Same in the other test.
> 
> This was in part because of my sloppy review. Sorry.
> I've committed the fix as obvious.
> 
> -- 
> Markus
diff mbox

Patch

Index: gcc/testsuite/gcc.dg/torture/pr77937-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr77937-1.c	(revision 0)
+++ gcc/testsuite/gcc.dg/torture/pr77937-1.c	(working copy)
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-do options "-O3 -march=amdfam10" { target { x86_64-*-* } } } */
+
+int *a;
+int b, c, d;
+void fn1(char *p1, int p2) {
+  int x;
+  while (1) {
+    x = 0;
+    for (; x < 8; x++)
+      p1[0] = -a[0] * d + p1[0] * c + 1 >> b >> 1;
+    p1 += p2;
+  }
+}
Index: gcc/testsuite/gcc.dg/torture/pr77937-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr77937-2.c	(revision 0)
+++ gcc/testsuite/gcc.dg/torture/pr77937-2.c	(working copy)
@@ -0,0 +1,17 @@ 
+/* { dg-do compile } */
+/* { dg-do options "-O3 -march=amdfam10" { target { x86_64-*-* } } } */
+
+extern int fn2(int);
+extern int fn3(int);
+int a, b, c;
+void fn1(long p1) {
+  char *d;
+  for (;; d += p1) {
+    d[0] = fn2(1 >> a);
+    fn3(0);
+    fn3(c >> a);
+    d[1] = fn3(d[1] * b + c >> a);
+    d[4] = fn3(d[4] * b + c >> a);
+    d[5] = fn3(d[5] * b + c >> a);
+  }
+}