/* PR tree-optimization/91723 */ /* { dg-do compile { target { scalar_all_fma || { i?86-*-* x86_64-*-* } } } } */ /* { dg-additional-options "-mfma" { target { i?86-*-* x86_64-*-* } } } */ void foo (double *restrict r, const double *restrict a, const double *restrict b, const double *restrict c) { for (int i = 0; i < 1024; i++) { double x = __builtin_fma (a[i], b[i], c[i]); x = __builtin_fma (a[i], b[i], x); r[i] = x; } } /* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 1 "vect" { target vect_double } } } */