OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gcc.dg/] [vect/] [pr37474.c] - Diff between revs 298 and 384

Only display areas with differences | Details | Blame | View Log

Rev 298 Rev 384
/* { dg-do compile } */
/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_int } */
 
 
#include <stdarg.h>
#include <stdarg.h>
 
 
#define M00 100
#define M00 100
#define M10 216
#define M10 216
#define M01 1322
#define M01 1322
#define M11 13
#define M11 13
#define M02 74
#define M02 74
#define M12 191
#define M12 191
 
 
#define N 16
#define N 16
 
 
void foo (unsigned int *__restrict__ pInput, unsigned int *__restrict__ pOutput)
void foo (unsigned int *__restrict__ pInput, unsigned int *__restrict__ pOutput)
{
{
  unsigned int i, a, b, c, d, e, f;
  unsigned int i, a, b, c, d, e, f;
 
 
  for (i = 0; i < N / 3; i++)
  for (i = 0; i < N / 3; i++)
    {
    {
       a = *pInput++;
       a = *pInput++;
       b = *pInput++;
       b = *pInput++;
       c = *pInput++;
       c = *pInput++;
       d = *pInput++;
       d = *pInput++;
       e = *pInput++;
       e = *pInput++;
       f = *pInput++;
       f = *pInput++;
 
 
       a = a + d;
       a = a + d;
       b = b + e;
       b = b + e;
       c = c + f;
       c = c + f;
 
 
       *pOutput++ = M00 * a + M01 * b + M02 * c;
       *pOutput++ = M00 * a + M01 * b + M02 * c;
       *pOutput++ = M10 * a + M11 * b + M12 * c;
       *pOutput++ = M10 * a + M11 * b + M12 * c;
    }
    }
}
}
 
 
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.