[all-commits] [llvm/llvm-project] 96e09f: [X86] Avoid usage constant NaN for fminimum/fmaxim...
serguei-katkov via All-commits
all-commits at lists.llvm.org
Fri May 5 01:43:14 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 96e09fef3cd8cf1f8f18d6cc70ba7bb6d8dcc4c3
https://github.com/llvm/llvm-project/commit/96e09fef3cd8cf1f8f18d6cc70ba7bb6d8dcc4c3
Author: Serguei Katkov <serguei.katkov at azul.com>
Date: 2023-05-05 (Fri, 05 May 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/extract-fp.ll
M llvm/test/CodeGen/X86/extractelement-fp.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
[X86] Avoid usage constant NaN for fminimum/fmaximum lowering
After applying FMIN/FMAX, if any of operands is NaN, the second operand will be the result.
So all we need is to check whether first operand is NaN and return it or result of FMIN/FMAX.
So we avoid usage of constant NaN in the lowering.
Additionally we can avoid handling NaN after FMIN/FMAX if we are sure that first operand is not NaN.
Reviewed By: e-kud
Differential Revision: https://reviews.llvm.org/D149729
More information about the All-commits
mailing list