/* PR tree-optimization/95060 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O3 -ffast-math -mavx512f" } */ | |
/* { dg-final { scan-assembler "\tvfnmsub" } } */ | |
/* { dg-final { scan-assembler-not "\tvfmadd" } } */ | |
#define N 32 | |
float r[N], a[N], b[N], c[N]; | |
void | |
foo (void) | |
{ | |
for (int i = 0; i < N; i++) | |
r[i] = -(a[i] * b[i]) - c[i]; | |
} | |
void | |
bar (void) | |
{ | |
for (int i = 0; i < N; i++) | |
r[i] = -(a[i] * b[i] + c[i]); | |
} |