[llvm-dev] Vectorization with fast-math on irregular ISA sub-sets

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 8 19:51:46 PST 2016


----- Original Message -----
> From: "Stephen Canon via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "James Molloy" <James.Molloy at arm.com>
> Cc: "LLVM Dev" <llvm-dev at lists.llvm.org>, "nd" <nd at arm.com>
> Sent: Monday, February 8, 2016 1:44:23 PM
> Subject: Re: [llvm-dev] Vectorization with fast-math on irregular	ISA	sub-sets
> 
> > On Feb 8, 2016, at 2:25 PM, James Molloy via llvm-dev
> > <llvm-dev at lists.llvm.org> wrote:
> > 
> > Sorry, on phone so cherry picking what I reply to :
> > 
> >> On 8 Feb 2016, at 19:15, Renato Golin <renato.golin at linaro.org>
> >> 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?
> 
> I agree.  FZ is usually relatively benign (it only causes major
> problems when programs expect x != y to imply that x - y != 0, an
> axiom of floating-point that’s broken in FZ).  Re-association more
> frequently causes significant instability.
> 
> I think it’s reasonable for unsafeAlgebra to imply "FZ is an allowed
> mode”.

FWIW, as currently formulated, our unsafeAlgebra flag implies all others:

  void setUnsafeAlgebra() {
    Flags |= UnsafeAlgebra;
    setNoNaNs();
    setNoInfs();
    setNoSignedZeros();
    setAllowReciprocal();
  }

 -Hal

> 
> – Steve
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-dev mailing list