https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101944

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
On x86 we even have

  Vector cost: 136
  Scalar cost: 196

note that we seem to vectorize the reduction but that only happens with
-ffast-math, not -O2 -ftree-slp-vectorize?

One issue is the association of

(diffa * vdw_d * (1 / 6.) + vdw_c * (1 / 4.)) * diffa + vdw_b * (1 / 2.)) *
diffa + vdw_a

which we fail to reduce as

 diffa*diffa*diffa*(1/6.)*vdw_d + diffa*diffa*(1/4.)*vdw_c + diffa*(1/2.)*vdw_b
+ 1.0*vdw_a

Reply via email to