URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.target/] [i386/] [opt-1.c] - Rev 328
Go to most recent revision | Compare with Previous | Blame | View Log
/* Test the attribute((optimize)) really works. Do this test by checking whether we vectorize a simple loop. */ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */ /* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "prefetcht0" } } */ /* { dg-final { scan-assembler "addps" } } */ /* { dg-final { scan-assembler "subss" } } */ #define SIZE 10240 float a[SIZE] __attribute__((__aligned__(32))); float b[SIZE] __attribute__((__aligned__(32))); float c[SIZE] __attribute__((__aligned__(32))); /* This should vectorize. */ void opt3 (void) __attribute__((__optimize__(3,"unroll-all-loops,-fprefetch-loop-arrays"))); void opt3 (void) { int i; for (i = 0; i < SIZE; i++) a[i] = b[i] + c[i]; } /* This should not vectorize. */ void not_opt3 (void) { int i; for (i = 0; i < SIZE; i++) a[i] = b[i] - c[i]; }
Go to most recent revision | Compare with Previous | Blame | View Log