Renato Golin via llvm-dev
2016-Feb-08 20:51 UTC
[llvm-dev] Vectorization with fast-math on irregular ISA sub-sets
On 8 February 2016 at 19:25, James Molloy <James.Molloy at arm.com> wrote:>> For 16275, the fix is to disable loop vect. for no-fast-math + hasUnsafeAlgebra. > > Do you think there is a set of people that care about IEEE accuracy in so far that they don't want FTZ, but *are* happy to reassociate FP operations? That seems fairly niche to me?No. But I also don't want to disable the vectorizer for integer arithmetic. I'm guessing hasUnsafeAlgebra is not just for FZ but also NaNs and Infs, so disabling the vectorization of loops that have any of those unless safe-math is chosen seems simple enough to me. cheers, --renato
James Molloy via llvm-dev
2016-Feb-08 21:35 UTC
[llvm-dev] Vectorization with fast-math on irregular ISA sub-sets
The conditions in which the LV kicks in are different for FP and integer loops. The LV always kicks in for non-FP loops AFAIK> On 8 Feb 2016, at 20:51, Renato Golin <renato.golin at linaro.org> wrote: > > On 8 February 2016 at 19:25, James Molloy <James.Molloy at arm.com> wrote: >>> For 16275, the fix is to disable loop vect. for no-fast-math + hasUnsafeAlgebra. >> >> Do you think there is a set of people that care about IEEE accuracy in so far that they don't want FTZ, but *are* happy to reassociate FP operations? That seems fairly niche to me? > > No. But I also don't want to disable the vectorizer for integer > arithmetic. I'm guessing hasUnsafeAlgebra is not just for FZ but also > NaNs and Infs, so disabling the vectorization of loops that have any > of those unless safe-math is chosen seems simple enough to me. > > cheers, > --renato >
Hal Finkel via llvm-dev
2016-Feb-09 03:48 UTC
[llvm-dev] Vectorization with fast-math on irregular ISA sub-sets
----- Original Message -----> From: "James Molloy" <James.Molloy at arm.com> > To: "Renato Golin" <renato.golin at linaro.org> > Cc: "Nadav Rotem" <nrotem at apple.com>, "Arnold Schwaighofer" <aschwaighofer at apple.com>, "Hal Finkel" > <hfinkel at anl.gov>, "LLVM Dev" <llvm-dev at lists.llvm.org>, "nd" <nd at arm.com> > Sent: Monday, February 8, 2016 3:35:26 PM > Subject: Re: Vectorization with fast-math on irregular ISA sub-sets > > The conditions in which the LV kicks in are different for FP and > integer loops. The LV always kicks in for non-FP loops AFAIKYes, and generically speaking, it does for FP loops as well (except, as has been noted, when there are FP reductions). It seems like we need two things here: 1. Use our backend fast-math flags during instruction selection to scalarize vector instructions that don't have the right allowances (on targets where that's necessary) 2. Update the TTI cost model interfaces to take fast-math flags so that all vectorizers can make appropriate decisions -Hal> > > On 8 Feb 2016, at 20:51, Renato Golin <renato.golin at linaro.org> > > wrote: > > > > On 8 February 2016 at 19:25, James Molloy <James.Molloy at arm.com> > > wrote: > >>> For 16275, the fix is to disable loop vect. for no-fast-math + > >>> hasUnsafeAlgebra. > >> > >> Do you think there is a set of people that care about IEEE > >> accuracy in so far that they don't want FTZ, but *are* happy to > >> reassociate FP operations? That seems fairly niche to me? > > > > No. But I also don't want to disable the vectorizer for integer > > arithmetic. I'm guessing hasUnsafeAlgebra is not just for FZ but > > also > > NaNs and Infs, so disabling the vectorization of loops that have > > any > > of those unless safe-math is chosen seems simple enough to me. > > > > cheers, > > --renato > > > >-- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory