OSDN Git Service

[AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type.
authorHuihui Zhang <huihuiz@quicinc.com>
Tue, 8 Dec 2020 17:32:33 +0000 (09:32 -0800)
committerHuihui Zhang <huihuiz@quicinc.com>
Tue, 8 Dec 2020 17:35:53 +0000 (09:35 -0800)
commit8e6fc1f97eb9a63780158470596ddbec3d0ecd59
tree014e7ce60fd88e7c77f18f043795de73ea133c96
parent4c70b6ee45e89268598d1bd0811778244f136025
[AArch64][SVE] Add lowering for llvm.maxnum|minnum for scalable type.

LLVM intrinsic llvm.maxnum|minnum is overloaded intrinsic, can be used on any
floating-point or vector of floating-point type.
This patch extends current infrastructure to support scalable vector type.

This patch also fix a warning message of incorrect use of EVT::getVectorNumElements()
for scalable type, when DAGCombiner trying to split scalable vector.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D92607
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-fp.ll