OSDN Git Service

PR tree-optimization/18977
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Feb 2005 23:01:33 +0000 (23:01 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Feb 2005 23:01:33 +0000 (23:01 +0000)
* gcc.c-torture/execute/loop-ivopts-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95238 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/loop-ivopts-1.c [new file with mode: 0644]

index ecdc105..4562225 100644 (file)
@@ -1,3 +1,8 @@
+2005-02-18  James E Wilson  <wilson@specifixinc.com>
+
+       PR tree-optimization/18977
+       * gcc.c-torture/execute/loop-ivopts-1.c: New testcase.
+
 2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
 
        PR target/20054
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-ivopts-1.c b/gcc/testsuite/gcc.c-torture/execute/loop-ivopts-1.c
new file mode 100644 (file)
index 0000000..13396fb
--- /dev/null
@@ -0,0 +1,30 @@
+/* From PR 18977.  */
+void foo(float * x);
+
+int main()
+{
+  float x[4];
+  foo (x);
+  return 0;
+}
+
+void foo (float *x)
+{
+    int i,j,k;
+    float temp;
+    static float t16[16]={1.,2.,3.,4.,5.,6.,7.,8.,9.,
+                         10.,11.,12.,13.,14.,15.,16.};
+    static float tmp[4]={0.,0.,0.,0.};
+
+    for (i=0; i<4; i++) {
+       k = 3 - i;
+       temp = t16[5*k];
+       for(j=k+1; j<4; j++) {
+           tmp[k] = t16[k+  j*4] * temp;
+       }
+    }
+    x[0] = tmp[0];
+    x[1] = tmp[1];
+    x[2] = tmp[2];
+    x[3] = tmp[3];
+}