4740805.c   [plain text]


/* APPLE LOCAL file 4740805 4741439 */
/* Testcase from MathWorks.  */
/* { dg-do run } */
/* { dg-options "-O" } */
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <assert.h>

double DPad2[16];

double Constant_Value[4];

void __attribute__ ((noinline)) initialize_it(void);

int main(int argc, const char *argv[])
{
  const double *u = Constant_Value;

  double *y = DPad2;

  const double *uCpy;
  int i,j;

  initialize_it ();

  /* OUTER LOOP 1 */
  for (i = 0; i < 2; i++) {
    uCpy = u;

    *y++ = *uCpy;/* INCREMENT 1 */

    /* INNER LOOP */
    for (j = 0; j < 2; j++) {
      *y++ = *uCpy++;/* INCREMENT 2 */
    }

    uCpy--;

    *y++ = *uCpy;/* INCREMENT 3 */
  }

  /* OUTER LOOP 2 */
  for (i = 0; i<2; i++) {
    *y++ = *u;/* INCREMENT 4 */

    *y++ = *u++;/* INCREMENT 5 */
    *y++ = *u;/* INCREMENT 6 */

    *y++ = *u++;/* INCREMENT 7 */
  }

  if (y - DPad2 != 16)
    abort ();

  return 0;
}

void __attribute__ ((noinline))
initialize_it()
{
  int i;

  for (i=0; i<4; i++)
    Constant_Value[i] = (double) i + 1;
}