[PATCH] D96604: [LoopVectorizer] Require no-signed-zeros-fp-math=true for fmin/fmax
    Kerry McLaughlin via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Feb 12 09:27:57 PST 2021
    
    
  
kmclaughlin added inline comments.
================
Comment at: llvm/lib/Analysis/IVDescriptors.cpp:597-599
     if (!isIntMinMaxRecurrenceKind(Kind) &&
-        (!HasFunNoNaNAttr || !isFPMinMaxRecurrenceKind(Kind)))
+        (!(FMF.noNaNs() && FMF.noSignedZeros()) ||
+         !isFPMinMaxRecurrenceKind(Kind)))
----------------
spatel wrote:
> That logic is hard to follow. How about inverting the condition, so we are positively identifying a min/max candidate?
> 
> I'm thinking:
> 
> ```
>     if (isIntMinMaxRecurrenceKind(Kind) ||
>         (FMF.noNans() && FMF.noSignedZeros() && 
>          isFPMinMaxRecurrenceKind(Kind)))
>       return isMinMaxSelectCmpPattern(I, Prev);
> ```
Thanks for the suggestion, this is much easier to follow
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96604/new/
https://reviews.llvm.org/D96604
    
    
More information about the llvm-commits
mailing list