Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/vect/pr57741-2.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR tree-optimization/57741 */ /* { dg-require-effective-target vect_float } */ /* { dg-additional-options "-ffast-math" } */ #include "tree-vect.h" extern void abort (void); __attribute__((noinline, noclone)) void foo (float *p, float *q, float x) { int i; p = (float *) __builtin_assume_aligned (p, 32); q = (float *) __builtin_assume_aligned (q, 32); float f = 1.0f, g = 2.0f; for (i = 0; i < 1024; i++) { *p++ = f; f += x; } for (i = 0; i < 1024; i++) { *q++ = g; g += 0.5f; } } float p[1024] __attribute__((aligned (32))) = { 17.0f }; float q[1024] __attribute__((aligned (32))) = { 17.0f }; int main () { int i; check_vect (); foo (p, q, 1.5f); for (i = 0; i < 1024; i++) if (p[i] != 1.0f + i * 1.5f || q[i] != 2.0f + i * 0.5f) abort (); return 0; } /* { dg-final { scan-tree-dump-times "vectorized 2 loop" 1 "vect" } } */