Re: Support fused multiply-adds in fully-masked reductions

2018-05-25 Thread Richard Biener
On Thu, May 24, 2018 at 2:17 PM Richard Sandiford < richard.sandif...@linaro.org> wrote: > Richard Biener writes: > > On Wed, May 16, 2018 at 11:26 AM Richard Sandiford < > > richard.sandif...@linaro.org> wrote: > > > >> This patch adds support for fusing a

Re: Support fused multiply-adds in fully-masked reductions

2018-05-24 Thread Richard Sandiford
Richard Biener writes: > On Wed, May 16, 2018 at 11:26 AM Richard Sandiford < > richard.sandif...@linaro.org> wrote: > >> This patch adds support for fusing a conditional add or subtract >> with a multiplication, so that we can use fused multiply-add and >>

Re: Support fused multiply-adds in fully-masked reductions

2018-05-24 Thread Richard Biener
On Wed, May 16, 2018 at 11:26 AM Richard Sandiford < richard.sandif...@linaro.org> wrote: > This patch adds support for fusing a conditional add or subtract > with a multiplication, so that we can use fused multiply-add and > multiply-subtract operations for fully-masked reductions. E.g. > for

Support fused multiply-adds in fully-masked reductions

2018-05-16 Thread Richard Sandiford
This patch adds support for fusing a conditional add or subtract with a multiplication, so that we can use fused multiply-add and multiply-subtract operations for fully-masked reductions. E.g. for SVE we vectorise: double res = 0.0; for (int i = 0; i < n; ++i) res += x[i] * y[i]; using