URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
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" } } */
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.