OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [i386/] [opt-1.c] - Blame information for rev 700

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* Test the attribute((optimize)) really works.  Do this test by checking
2
   whether we vectorize a simple loop.  */
3
/* { dg-do compile } */
4
/* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8 --param min-insn-to-prefetch-ratio=0" } */
5
/* { dg-final { scan-assembler "prefetcht0" } } */
6
/* { dg-final { scan-assembler "addps" } } */
7
/* { dg-final { scan-assembler "subss" } } */
8
 
9
#define SIZE 10240
10
float a[SIZE] __attribute__((__aligned__(32)));
11
float b[SIZE] __attribute__((__aligned__(32)));
12
float c[SIZE] __attribute__((__aligned__(32)));
13
 
14
/* This should vectorize.  */
15
void opt3 (void) __attribute__((__optimize__(3,"unroll-all-loops,-fprefetch-loop-arrays")));
16
 
17
void
18
opt3 (void)
19
{
20
  int i;
21
 
22
  for (i = 0; i < SIZE; i++)
23
    a[i] = b[i] + c[i];
24
}
25
 
26
/* This should not vectorize.  */
27
void
28
not_opt3 (void)
29
{
30
  int i;
31
 
32
  for (i = 0; i < SIZE; i++)
33
    a[i] = b[i] - c[i];
34
}
35
 

powered by: WebSVN 2.1.0

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