| /* { dg-do compile } */ |
| /* { dg-require-effective-target vect_int } */ |
| /* { dg-additional-options "-fvect-cost-model=dynamic" } */ |
| |
| void bar (int *); |
| int foo (int *p, int a, int b) |
| { |
| int x[4]; |
| int tem0, tem1, tem2, tem3; |
| int sum = 0; |
| p = __builtin_assume_aligned (p, __BIGGEST_ALIGNMENT__); |
| tem0 = p[0] + 1 + a; |
| sum += tem0; |
| x[0] = tem0; |
| tem1 = p[1] + 2 + b; |
| sum += tem1; |
| x[1] = tem1; |
| tem2 = p[2] + 3 + b; |
| sum += tem2; |
| x[2] = tem2; |
| tem3 = p[3] + 4 + a; |
| sum += tem3; |
| x[3] = tem3; |
| bar (x); |
| return sum; |
| } |
| |
| /* { dg-final { scan-tree-dump "vectorization is not profitable" "slp2" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ |